php里面什么是u函数,ThinkPHP内置函数----U方法
为了配合所使用的URL模式,我们需要能够动态的根据当前的URL设置生成对应的URL地址,为此,ThinkPHP内置提供了U方法,用于URL的动态生成,可以确保项目在移植过程中不受环境的影响。
定义规则
U方法的定义规则如下(方括号内参数根据实际应用决定):
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地址
参数
U方法的第二个参数支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,例如:
U('Blog/cate',array('cate_id'=>1,'status'=>1))U('Blog/cate','cate_id=1&status=1')U('Blog/cate?cate_id=1&status=1')
三种方式是等效的,都是生成Blog控制器的cate操作 并且cate_id为1 status为1的URL地址。
但是不允许使用下面的定义方式来传参数
U('Blog/cate/cate_id/1/status/1');
伪静态后缀
U函数会自动识别当前配置的伪静态后缀,如果你需要指定后缀生成URL地址的话,可以显式传入,例如:
U('Blog/cate','cate_id=1&status=1','xml');
自动识别
根据项目的不同URL设置,同样的U方法调用可以智能地对应产生不同的URL地址效果,例如针对:
U('Blog/read?id=1');
这个定义为例。
如果当前URL设置为普通模式的话,最后生成的URL地址是:
http://serverName/index.php?m=Blog&a=read&id=1
如果当前URL设置为PATHINFO模式的话,同样的方法最后生成的URL地址是:
http://serverName/index.php/Home/Blog/read/id/1
如果当前URL设置为REWRITE模式的话,同样的方法最后生成的URL地址是:
http://serverName/Home/Blog/read/id/1
如果当前URL设置为REWRITE模式,并且设置了伪静态后缀为.html的话,同样的方法最后生成的URL地址是:
http://serverName/Home/Blog/read/id/1.html
如果开启了URL_CASE_INSENSITIVE,则会统一生成小写的URL地址。
生成路由地址
U方法还可以支持路由,如果我们定义了一个路由规则为:
'news/:id\d'=>'News/read'
那么可以使用
U('/news/1');
最终生成的URL地址是:
http://serverName/index.php/Home/news/1
注意:如果你是在模板文件中直接使用U方法的话,需要采用 {:U('参数1', '参数2'…)} 的方式,具体参考模板的使用函数内容。
域名支持
如果你的应用涉及到多个子域名的操作地址,那么也可以在U方法里面指定需要生成地址的域名,例如:
U('Blog/read@blog.thinkphp.cn','id=1');
@后面传入需要指定的域名即可。
系统会自动判断当前是否SSL协议,生成https://。
此外,U方法的第4个参数如果设置为true,表示自动识别当前的域名,并且会自动根据子域名部署设置APP_SUB_DOMAIN_DEPLOY和APP_SUB_DOMAIN_RULES自动匹配生成当前地址的子域名。
锚点支持
U函数可以直接生成URL地址中的锚点,例如:
U('Blog/read#comment?id=1');
生成的URL地址可能是:
http://serverName/index.php/Home/Blog/read/id/1#comment
php里面什么是u函数,ThinkPHP内置函数----U方法相关推荐
- decode函数_Python 内置函数总一
内置函数 python内置函数,截至python3.6.2版本之前一共68个内置函数,内置函数是可以直接使用的函数. Python标准库/内置函数链接:点击此处 内置函数分类 作用域相关 基于字典的形 ...
- python内置高阶函数求导_Python——函数式编程、高阶函数和内置函数,及
Python--函数式编程.高阶函数及内置函数 函数式编程 一.不可变数据:不用变量保存状态不修改变量 二.第一类对象:函数即"变量" 1.函数名可以当做参数传递 2.返回值可以是 ...
- Hive函数(内置函数(字符串函数,数学函数,日期函数,集合函数,条件函数,聚合函数,表生成函数)和自定义函数(自定义函数创建流程,临时函数,永久函数)))(四)
Hive函数(内置函数和自定义函数) 一.内置函数 1.字符串函数 (1)ascii (2)base64 (3)concat (4)concat_ws (5)format_number (6)subs ...
- python葵花宝典第15式-匿名函数、内置函数、映射函数
python葵花宝典第15式-匿名函数.内置函数.映射函数 15.1 lambda函数(匿名函数) 匿名函数并不是没有函数名字 注意: (1)函数的参数可以有多个,多个参数之间用逗号隔开 (2)匿名函 ...
- Python函数05/内置函数/闭包
Python函数05/内置函数/闭包 内容大纲 1.内置函数(二) 2.闭包 1.内置函数(二) #(abs()) 绝对值--返回的都是正数 #print([abs(i) for i in lst]) ...
- html中写嵌套的js函数,Javascript 嵌套函数 - 递归函数 - 内置函数详解
在了解了函数的定义和函数调用外,下面我们来介绍一下JavaScript中几种特殊的函数. JavaScript特殊函数有3种: (1)嵌套函数: (2)递归函数: (3)内置函数: 下面详细给大家讲解 ...
- python内置方法就是内置函数_python内置函数
什么是内置函数? 就是python给你提供的,拿来直接用的函数, 比如print 和 input等等. 截止到python版本3.6.2 python一共提供了68个内置函数. 他们就是python直 ...
- python内置函数open_python_内置函数和open
一.内置函数 以下是python的内置函数: 1)常用内置函数 set() :集合,主要用来去重. dict():字典模式. min():返回可迭代对象中,最小元素. max():返回可迭代对象中,最 ...
- 七 递归与二分法、匿名函数、内置函数
一 递归与二分法 一.递归调用的定义 二.递归分为两个阶段:递推,回溯 三.python中的递归效率低且没有尾递归优化 四.可以修改递归最大深度 五. 二分法 二 匿名函数 一. 什么是匿名函数? 二 ...
最新文章
- Linux常用命令及技巧2
- 2015.11.11
- 内部人看FaceBook
- Windows server 2008 iis7/iis7.5启用父路径的方法
- python中,如何将多行进行输出,同时将行尾的换行符去掉
- 如何用pycharm对比两段代码(或两个文件的代码)
- 【收藏】编译安装keepalived
- 面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?
- 十年前的网易,新浪,维基百科,百度百科在手机上的打开效果
- mysql order by date_Best practice question for MySQL: order by id or date?
- Netty之四种常用 IO 模型
- 扎的多音字组词有哪些
- Ubuntu(Deban)中安装VirtualBox
- Tomcat的下载及环境变量配置
- 网站前端性能优化终极指南
- java解压zip和rar文件
- python画正方形-用python画一个正方形
- JRebel激活与配置
- 移动端APP设计规范
- 新东方托福词汇(List 31 ~ List 35)