ThinkPHP使用U方法自动生成URL超链接
ThinkPHP U方法
U 方法是 ThinkPHP 内置的一个快捷方法,可以根据系统 URL 模式配置动态的生成智能的 URL 地址。
由于 ThinkPHP 支持各种不同的 URL 模式,另外还有项目分组模式,因此当部署环境发生变化时,有时候可能会改变 URL 模式,而 U 方法正是解决不同环境配置情况下的 URL 统一问题。除了动态生成 URL 以自适应系统配置外,U 方法还有一个好处是可以自动加上伪静态后缀。
U 方法语法
U 方法的定义规则如下:
('[分组/模块/操作]?参数' [,'参数','伪静态后缀','是否跳转','显示域名'])
方括号内为可选参数,如果不指明分组、模块以及操作的话,就默认为当前分组、当前模块与当前操作。
U方法实例
U 方法作为 ThinkPHP 的系统函数,可以直接用于操作方法中,也可用于模板中(见后面文字)。
假设当前为 Index 模块的 index 操作,生成当前模块的 list 操作 URL:
U('list?cat_id=1&status=1')
生成的 URL 为相对链接:http://www.5idev.com/index.php/Index/list/cat_id/1/status/1
同时 U 方法还支持下面两种定义格式,上面的例子与下面的定义格式是等效的:
U'list',array('cate_id'=>1,'status'=>1)) U'list','cate_id=1&status=1')
模板中使用 U 方法
U 方法不仅能在操作方法中动态生成 URL 地址,其实更常用的是在模板中生成超链接地址:
生成 URL 后实际的 html 代码为:
// Pathinfo 模式:
U 方法属于 ThinkPHP 系统函数,遵循在模板中使用系统函数的通用方法,即配合 {: } 使用。
U 方法中使用变量
使用于模板中的 U 方法,如果要使用变量(通常如此),需要用 . 连接符:
各种 URL 模式下的 U 方法结果对比
U 方法根据各种 URL 模式而自适应的生成不同的 URL 格式,如上面例子在各模式下生成的 URL 对比如下:
-
普通兼容模式:http://www.5idev.com/index.php?m=Index&a=list&cat_id=1&status=1
-
Pathinfo 模式:http://www.5idev.com/index.php/Index/list/cat_id/1/status/1
-
Rewrite 模式:http://www.5idev.com/Index/list/cat_id/1/status/1
-
Rewrite 模式,伪静态后缀为 .html:http://www.5idev.com/Index/list/cat_id/1/status/1.html
-
Rewrite 模式,使用 - 分隔符与 .html 后缀:http://www.5idev.com/Index-list-cat_id-1-status-1.html
常见 U 方法使用例子
// 当前模块 list 操作 U('list?cat_id=1&status=1') // 其他模块操作 U('Blog/read?id=1') // 生成Blog模块的read操作,并且id为1的URL地址 // 其他分组 U('Admin/User/view?uid=1') // 生成Admin分组的User模块的view操作的URL地址
《》
相关推荐: 基于TP框架的fastadmin开发插件基本流程
什么是fastadmin? FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。 fastadmin开发基础管理插件步骤 以一个学校管理插件为例 开发环境与工具 PHPSTORM phpstudy nginx1.15.11 m…
关注微信公众号『OOINK』
第一时间了解最新资源动态关注OO.INK不迷路~
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 下载资源需要解压密码,解压密码是什么?
2、分享目的仅供大家学习和交流,请不要用于商业用途!
3、本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
4、如有链接无法下载、失效或广告,请联系管理员处理!
5、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
OO.INK资源网 » ThinkPHP使用U方法自动生成URL超链接