登录  /  注册
首页 > php框架 > ThinkPHP > 正文

ThinkPHP使用U方法自动生成URL超链接

发布: 2020-05-06 09:16:07
转载
3617人浏览过

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 模式:
<a href="http://www.5idev.com/lindex.php/blog/list/cat_id/1/status/1">超链接字符</a>
登录后复制

U 方法属于 ThinkPHP 系统函数,遵循在模板中使用系统函数的通用方法,即配合 {: } 使用。

U 方法中使用变量

使用于模板中的 U 方法,如果要使用变量(通常如此),需要用 . 连接符:

<a href="{:U(&#39;blog/list?cat_id=&#39;.$vo[&#39;cat_id&#39;].&#39;&status=1&#39;)}">超链接字符</a>
登录后复制

各种 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(&#39;list?cat_id=1&status=1&#39;)
// 其他模块操作
U('Blog/read?id=1')        // 生成Blog模块的read操作,并且id为1的URL地址
// 其他分组
U('Admin/User/view?uid=1')    // 生成Admin分组的User模块的view操作的URL地址
登录后复制

推荐教程:《TP5

以上就是ThinkPHP使用U方法自动生成URL超链接的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:OSCHINA网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号