首页 > 代码库 > thinkphp3.2.2 变量名称,引入类库和实例化

thinkphp3.2.2 变量名称,引入类库和实例化

一些常量,例如模块名、控制器名、操作名等等,请查看 手册  附录-常量参考

 

需要引入的类库位置在:ThinkPHP\Library\Org\Util\的位置,该类库首先需要声明命名空间

namespace Org\Util;

  然后在控制器的操作中引入使用的时候第一步是实例化,不再需要import导入

比如是导入的类为Page.class.php,在操作中的代码为:

$p = new \Org\Util\Page($count, $listRows);

括号里面的是两个参数

生成链接的快捷方法 :U;

地址表达式格式定义如下:

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

  模块不定义的情况会默认是当前模块

只有一个参数的U方法的使用

举例如下:

U(‘User/add‘) // 生成User控制器的add操作的URL地址U(‘Blog/read?id=1‘) // 生成Blog控制器的read操作 并且id为1的URL地址U(‘Admin/User/select‘) // 生成Admin模块的User控制器的select操作的URL地址

三种方式是等效的,都是生成Blog控制器的cate操作 并且cate_id为1 status为1的URL地址。

但是不允许使用下面的定义方式来传参

U(‘Blog/cate/cate_id/1/status/1‘);

可以添加伪静态的后缀,会根据Url的模式生成最终的链接,开启URL_CASE_INSENSITIVE的情况下链接会全部为小写字母

 

U方法还支持路由功能;我们首先定义一个路由规则:

 

‘news/:id\d‘=>‘News/read‘

那么可以使用

(‘/news/1‘);

生成的URL地址为:

http://serverName/index.php/Home/news/1

注意:如果你是在模板文件中直接使用U方法的话,需要采用 {:U(‘参数1‘, ‘参数2‘…)} 的方式,具体参考模板的使用函数内容。

 

域名支持

如果你的应用涉及到多个子域名的操作地址,那么也可以在U方法里面指定需要生成地址的域名,

@后面传入需要指定的域名即可。

例如:

U(‘Blog/read@blog.thinkphp.cn‘,‘id=1‘);

系统会自动判断当前是否SSL协议,生成https://

此外,U方法的第4个参数如果设置为true,表示自动识别当前的域名,并且会自动根据子域名部署设置APP_SUB_DOMAIN_DEPLOYAPP_SUB_DOMAIN_RULES自动匹配生成当前地址的子域名。

 

锚点支持

U函数可以直接生成URL地址中的锚点,例如:

U(‘Blog/read#comment?id=1‘);

生成的URL地址可能是:

http://serverName/index.php/Home/Blog/read/id/1#comment