ThinkPHP中U方法的使用浅析


Posted in PHP onJune 13, 2014

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

U('[项目://][路由@][分组名-模块/]操作? 参数1=值1[&参数N=值N]')
或者用数组的方式传入参数:
U('[项目://][路由@][分组名-模块/]操作',array('参数1'=>'值1' [,'参数N'=>'值N']))

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

U('Myapp://User/add') // 生成Myapp项目的User模块的add操作的URL地址
U('Blog/read?id=1') // 生成Blog模块的read操作并且id为1的URL地址
U('Admin-User/select') // 生成Admin分组的User模块的select操作的URL地址

参数请确保使用 ?id=1&name=tp或者数组的方式来定义,虽然有些情况下U('Blog/read/id/1')和U('Blog/read?id=1')的效果一样,但是在不同的URL设置情况下,会导致解析的错误。

根据项目的不同URL设置,同样的U方法调用可以智能地对应产生不同的URL地址效果,例如针对U('Blog/read?id=1')这个定义为例。

如果当前URL设置为普通模式的话,最后生成的URL地址是:
HTUhttp://<serverName>/index.php?m=Blog&a=read&id=1UTH

如果当前URL设置为PATHINFO模式的话,同样的方法最后生成的URL地址是:
HTUhttp://<serverName>/index.php/Blog/read/id/1UTH

如果当前URL设置为REWRITE模式的话,同样的方法最后生成的URL地址是:
HTUhttp://<serverName>/Blog/read/id/1UTH

如果当前URL设置为REWRITE模式,并且设置了伪静态后缀为.html的话,同样的方法最后生成的URL地址是:
HTUhttp://<serverName>/Blog/read/id/1.htmlUTH

此外,U方法还可以支持路由,如果我们定义了一个名称为View的路由,指向Blog模块的read操作,参数是id,那么U('View@?id=1')生成的URL地址是:
HTUhttp://<serverName>/index.php/View/id/1UT

注意:U方法的路由支持 仅支持简单路由,不支持泛路由和正则路由

PHP 相关文章推荐
一个用php实现的获取URL信息的类
Jan 02 PHP
实用函数8
Nov 08 PHP
php不写闭合标签的好处
Mar 04 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
浅谈使用PHP开发微信支付的流程
Oct 04 PHP
PHP程序员不应该忽略的3点
Oct 09 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
May 26 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
PHP按一定比例压缩图片的方法
Oct 12 PHP
php tpl模板引擎定义与使用示例
Aug 09 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 PHP
PHP 超级全局变量相关总结
Jun 30 PHP
PHP实现单例模式最安全的做法
Jun 13 #PHP
PHP5.5和之前的版本empty函数的不同之处
Jun 13 #PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
Jun 13 #PHP
PHP中多维数组的foreach遍历示例
Jun 13 #PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
Jun 13 #PHP
php smarty truncate UTF8乱码问题解决办法
Jun 13 #PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
Jun 13 #PHP
You might like
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
PHP开发入门教程之面向对象
2006/12/05 PHP
php购物网站支付paypal使用方法
2010/11/28 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
php时区转换转换函数
2014/01/07 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
php限制文件下载速度的代码
2015/10/20 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
2010/04/01 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
js 创建书签小工具之理论
2011/02/25 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
webpack 2的react开发配置实例代码
2017/07/28 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
autojs 蚂蚁森林能量自动拾取即给指定好友浇水的实现方法
2020/05/03 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
python实现简单的计时器功能函数
2015/03/14 Python
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
python添加菜单图文讲解
2019/06/04 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
晚会主持词开场白
2014/03/17 职场文书
群众路线四风对照检查材料
2014/11/04 职场文书
介绍信的格式
2015/01/30 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
2019思想汇报范文
2019/05/21 职场文书
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers