• Thinkphp中的U函数(Thinkphp3.2.3版本)


    U函数的作用是根据当前的URL设置生成对应的URL地址,使用U函数可以确保项目在移植过程中不受环境的影响。

    U方法的定义规则如下(方括号内参数根据实际应用决定):

    U('地址表达式',['参数'],['伪静态后缀'],['显示域名'])

    其中地址表达式的格式定义如下:

    [模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...

    模块/控制器如果与当前模块、控制器相同的话可以省略。

    参数值既可以通过'地址表达式'传递也可以通过'参数'传递,而通过'参数'传递时既可以是字符串也可以是数组,所以下面三个URL地址是等效的:

    U('blog/read?id=5&stu=0')
    U('blog/read','id=5&stu=0')
    U('blog/read',array('id=>5','stu=>0'))

    但下面的表达式是错误的:

    U('blog/read/id/5/stu/0')

    另外,U函数会自动识别当前URL模式,并按当前URL模式生成URL地址。

    实例与说明

    假设当前URL地址是 http://www.bnzoo.com/Home/Index/index,现在要访问 http://www.bnzoo.com/Home/Index/text/id/25/ty/1,U函数表达如下:

    //下面三个表达是等效的
    U('text?id=25&ty=1')
    U('text','id=25&ty=1')
    U('text',array('id=>25','ty=>1'))

    访问 http://www.bnzoo.com/Home/Form/text/id/25/ty/1,U函数表达如下:

    //下面三个表达是等效的
    U('Form/text?id=25&ty=1')
    U('Form/text','id=25&ty=1')
    U('Form/text',array('id=>25','ty=>1'))

    访问 http://www.bnzoo.com/Admin/Form/text/id/25/ty/1,U函数表达如下:

    //下面三个表达是等效的
    U('Admin/Form/text?id=25&ty=1')
    U('Admin/Form/text','id=25&ty=1')
    U('Admin/Form/text',array('id=>25','ty=>1'))

    如果www.bnzoo.com和admin.bnzoo.com都指向当前应用的话,想通过 admin.bnzoo.com 访问 Admin/Form/text/id/25/ty/1,即访问 http://admin.bnzoo.com/Admin/Form/text/id/25/ty/1,U函数表达如下:

    //下面三个表达是等效的
    U('Admin/Form/text@admin.bnzoo.com?id=25&ty=1')
    U('Admin/Form/text@admin.bnzoo.com','id=25&ty=1')
    U('Admin/Form/text@admin.bnzoo.com',array('id=>25','ty=>1'))

    如果设置了路由,U函数也能支持路由。比如我们定义一个路由规则:

    'text/:idd'=>'Index/text'

    U函数下面的表达都是可以的:

    U('/text/25')
    U('Index/text?id=25')

    假设当前地址是 http://www.bnzoo.com/Home/Index/index,那么它们生成的URL地址分别是:

    http://www.bnzoo.com/Home/text/25
    http://www.bnzoo.com/Home/Index/text/id/25



    突破传统的上网方式,不用记网址、不用搜索引擎,输入一两个字母就能迅速打开你想访问的任何网站——小笨猪网址索引
  • 相关阅读:
    Array.from和 map的相同用法
    js复制数组的各种方式
    set集合转数组的两种方法
    关于set集合去重的问题
    Object.is判断两个值是否相等
    数组排序
    函数默认值的取值
    标准索引
    pgsql update left join
    linux pgsql
  • 原文地址:https://www.cnblogs.com/programs/p/5488816.html
Copyright © 2020-2023  润新知