• 技术文章 >php框架 >ThinkPHP

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

    尚2020-05-06 09:16:07转载2756

    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 地址,其实更常用的是在模板中生成超链接地址:

    <a href="{:U('list?cat_id=1&status=1')}">超链接字符</a>

    生成 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('blog/list?cat_id='.$vo['cat_id'].'&status=1')}">超链接字符</a>

    各种 URL 模式下的 U 方法结果对比

    U 方法根据各种 URL 模式而自适应的生成不同的 URL 格式,如上面例子在各模式下生成的 URL 对比如下:

    常见 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地址

    推荐教程:《TP5

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

    声明:本文转载于:OSCHINA,如有侵犯,请联系admin@php.cn删除
    专题推荐:ThinkPHP
    上一篇:thinkphp四种url模式介绍 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 新手入门:手把手从PHP环境到ThinkPHP6框架下载• ThinkPHP5.1 域名绑定模块• thinkphp中隐藏入口文件的方法• ThinkPHP6带搜索条件的分页解决方案
    1/1

    PHP中文网