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 相关文章推荐
source.php查看源文件
Dec 09 PHP
PHP 显示客户端IP与服务器IP的代码
Oct 12 PHP
PHP递归返回值时出现的问题解决办法
Feb 19 PHP
解析thinkphp基本配置 convention.php
Jun 18 PHP
PHP递归删除目录几个代码实例
Apr 21 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
php实现四舍五入的方法小结
Mar 03 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
Dec 19 PHP
php中引用符号(&amp;)的使用详细介绍
Dec 06 PHP
基于PHP实现的多元线性回归模拟曲线算法
Jan 30 PHP
php DES加密算法实例分析
Sep 18 PHP
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
Mar 29 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
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
一个基于jquery的图片切换效果
2010/07/06 Javascript
js的一些常用方法小结
2011/06/29 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
js 函数调用模式小结
2011/12/26 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
javascript定义变量时有var和没有var的区别探讨
2014/07/21 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
JavaScript基本语法讲解
2015/06/03 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
JS动态图片的实现方法完整示例
2020/01/13 Javascript
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
Python多进程编程技术实例分析
2014/09/16 Python
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
学校安全生产月活动总结
2014/07/05 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
Vue实现导入Excel功能步骤详解
2021/07/03 Vue.js
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL