U方法总结_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > U方法总结

U方法总结

 2018/4/2 2:11:39  青春..荒唐  程序员俱乐部  我要评论(0)
  • 摘要:【前言】本文总结下U方法,手册搜索U函数、URL模式【主体】(1)URL生成为了配合所使用的URL模式,我们需要能够动态的根据当前的URL设置生成对应的URL地址,为此,ThinkPHP内置提供了U方法,用于URL的动态生成,可以确保项目在移植过程中不受环境的影响。①U方法的定义规则如下(方括号内参数根据实际应用决定):U('地址表达式',['参数'],['伪静态后缀'],['显示域名'])②地址表达式地址表达式的格式定义如下:[模块/控制器/操作#锚点@域名]?参数1=值1&
  • 标签:总结 方法

【前言】

? ?本文总结下U方法,手册搜索U函数、URL模式

?

【主体】

(1)URL生成

? ? ? 为了配合所使用的URL模式,我们需要能够动态的根据当前的URL设置生成对应的URL地址,为此,ThinkPHP内置提供了U方法,用于URL的动态生成,可以确保项目在移植过程中不受环境的影响。

①U方法的定义规则如下(方括号内参数根据实际应用决定):

class="表达式">U('地址表达式',['参数'],['伪静态后缀'],['显示域名'])

②地址表达式

地址表达式的格式定义如下:

[模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...

如果不定义模块的话 就表示当前模块名称,下面是一些简单的例子

U('User/add') // 生成User控制器的add操作的URL地址
U('Blog/read?id=1') // 生成Blog控制器的read操作 并且id为1的URL地址
U('Admin/User/select') // 生成Admin模块的User控制器的select操作的URL地址

?

(2)URL模式

? ? ? 入口文件是应用的单一入口,对应用的所有请求都定向到应用入口文件,系统会从URL参数中解析当前请求的模块、控制器和操作:

?

http://serverName/index.php/模块/控制器/操作

?

? ? ? 这是3.2版本的标准URL格式,可以通过设置模块绑定或者域名部署等方式简化URL地址中的模块及控制器名称。

①URL大小写

? ? ?ThinkPHP框架的URL是区分大小写(主要是针对模块、控制器和操作名,不包括应用参数)的,这一点非常关键,因为ThinkPHP的命名规范是采用驼峰法(首字母大写)的规则,而URL中的模块和控制器都是对应的文件,因此在Linux环境下面必然存在区分大小写的问题。

框架内置了一个配置参数用于解决URL大小写的问题,如下:

?

'URL_CASE_INSENSITIVE'  =>  true,  

?

? ? ? 当URL_CASE_INSENSITIVE设置为true的时候表示URL地址不区分大小写,这个也是框架在部署模式下面的默认设置。

? ? ? 当开启调试模式的情况下,这个参数是false,因此你会发现在调试模式下面URL区分大小写的情况。

②URL模式

? ? ? 如果我们直接访问入口文件的话,由于URL中没有模块、控制器和操作,因此系统会访问默认模块(Home)下面的默认控制器(Index)的默认操作(index),因此下面的访问是等效的:

?

http://serverName/index.php
http://serverName/index.php/Home/Index/index

?

? ? ? 这种URL模式就是系统默认的PATHINFO模式,不同的URL模式获取模块和操作的方法不同,ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式,可以设置URL_MODEL参数改变URL模式。

?

列表:

URL模式 ? ? ? ? ? ? ? URL_MODEL设置

普通模式 ? ? ? ? ? ? ? ? ? 0

PATHINFO模式 ? 1

REWRITE模式 ? 2

兼容模式 ? ? ? ? ? ? ? ? ? 3

?

? ? ? 如果你整个应用下面的模块都是采用统一的URL模式,就可以在应用配置文件中设置URL模式,如果不同的模块需要设置不同的URL模式,则可以在模块配置文件中设置。

详解:https://www.kancloud.cn/manual/thinkphp/1697

?

?

?

?

?

?

?

?

?

.

发表评论
用户名: 匿名