找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1764|回复: 0
打印 上一主题 下一主题

ThinkPHP中U方法的使用浅析

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:57:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            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:///index.php?m=Blog&a=read&id=1UTH
如果当前URL设置为PATHINFO模式的话,同样的方法最后生成的URL地址是:
HTUhttp:///index.php/Blog/read/id/1UTH
如果当前URL设置为REWRITE模式的话,同样的方法最后生成的URL地址是:
HTUhttp:///Blog/read/id/1UTH
如果当前URL设置为REWRITE模式,并且设置了伪静态后缀为.html的话,同样的方法最后生成的URL地址是:
HTUhttp:///Blog/read/id/1.htmlUTH
此外,U方法还可以支持路由,如果我们定义了一个名称为View的路由,指向Blog模块的read操作,参数是id,那么U('View@?id=1')生成的URL地址是:
HTUhttp:///index.php/View/id/1UT
注意:U方法的路由支持 仅支持简单路由,不支持泛路由和正则路由
            
            
您可能感兴趣的文章:
  • THINKPHP+JS实现缩放图片式截图的实现
  • 改写ThinkPHP的U方法使其路由下分页正常
  • Thinkphp搭建包括JS多语言的多语言项目实现方法
  • ThinkPHP模版中导入CSS和JS文件的方法
  • ThinkPHP中使用ajax接收json数据的方法
  • ThinkPHP里用U方法调用js文件实例
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端