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&amp;MYSQL留言板源码
Jul 19 PHP
php二维数组排序与默认自然排序的方法介绍
Apr 27 PHP
php设置session值和cookies的学习示例
Mar 21 PHP
php实现的常见排序算法汇总
Sep 08 PHP
php常用hash加密函数
Nov 22 PHP
PHP使用fopen与file_get_contents读取文件实例分享
Mar 04 PHP
PHP微信开发之有道翻译
Jun 23 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
May 12 PHP
PHP连接MySQL数据库并以json格式输出
May 21 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加入ftp扩展的解决方法
2013/02/07 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
PHP函数积累总结
2019/03/19 PHP
使用Apache的rewrite
2021/03/09 Servers
图片完美缩放
2006/09/07 Javascript
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
2016/06/01 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
基于es6三点运算符的使用方法(实例讲解)
2017/10/12 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
2017/10/26 Javascript
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
Python实现获取操作系统版本信息方法
2015/04/08 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
基于python实现计算且附带进度条代码实例
2020/03/31 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
上班上网检讨书
2014/01/29 职场文书
授权委托书
2014/07/31 职场文书
2014年保洁工作总结
2014/11/24 职场文书
创业计划书之农家乐
2019/10/09 职场文书