[b]A方法[/b]
A方法用于在内部实例化控制器,调用格式:A(‘[项目://][分组/]模块','控制器层名称')
最简单的用法:
[url=]'@.Model.UserModel'[/url]);
$User = new UserModel();
但是如果使用D方法的话,如果这个UserModel类不存在,则会自动调用
[url=]'@.Service.UserService'[/url]);
$User = new UserSerivce();
[b]F方法[/b]
F方法其实是S方法的一个子集功能,仅用于简单数据缓存,并且只能支持文件形式,不支持缓存有效期,因为采用的是返回方式,所以其效率较S方法较高,因此我们也称之为快速缓存方法。
F方法的特点是:
简单数据缓存;
文件形式保存;
采用返回数据方式加载缓存;
支持子目录缓存以及自动创建;
支持删除缓存和批量删除;
写入和读取缓存
[url=]'Admin@Public/menu'[/url]);
// 返回 Admin/View/Public/menu.html
T('Extend://Admin@Public/menu');
// 返回 Extend/Admin/View/Public/menu.html (Extend目录取决于AUTOLOAD_NAMESPACE中的配置)
在display方法中直接使用T函数:
[url=]'Admin@Public/menu'[/url]));
T函数可以输出不同的视图分层模板。
[b]U方法[/b]
U方法用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址,格式为:
U(‘地址','参数','伪静态','是否跳转','显示域名');
在模板中使用U方法而不是固定写死URL地址的好处在于,一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。
在模板中的调用格式需要采用 {:U('地址', '参数'…)} 的方式
U方法的用法示例:
[url=http://serverName/index.m=Blog&a=read&id=1]http://serverName/index.m=Blog&a=read&id=1[/url]
如果当前URL设置为PATHINFO模式的话,同样的方法最后生成的URL地址是: [url=http://serverName/index./Blog/read/id/1]http://serverName/index./Blog/read/id/1[/url]
如果当前URL设置为REWRITE模式的话,同样的方法最后生成的URL地址是: [url=http://serverName/Blog/read/id/1]http://serverName/Blog/read/id/1[/url]
如果你同时还设置了PATHINFO分隔符的话:
[url=http://serverName/Blog_read_id_1]http://serverName/Blog_read_id_1[/url]
如果当前URL设置为REWRITE模式,并且设置了伪静态后缀为html的话,同样的方法最后生成的URL地址是:
[url=http://serverName/Blog/read/id/1.html]http://serverName/Blog/read/id/1.html[/url]
如果设置了多个伪静态支持,那么会自动取第一个伪静态后缀添加到URL地址后面,当然你也可以手动在U方法里面指定要生成的伪静态后缀,例如:
[url=http://serverName/Blog/read/id/1.xml]http://serverName/Blog/read/id/1.xml[/url]
U方法还可以支持路由,如果我们定义了一个路由规则为:
[url=http://serverName/index./news/1]http://serverName/index./news/1[/url]
如果你的应用涉及到多个子域名的操作地址,那么也可以在U方法里面指定需要生成地址的域名,例如:
[url=]'Blog/read@blog.think.cn','id=1'[/url]);
@后面传入需要指定的域名即可。
此外,U方法的第5个参数如果设置为true,表示自动识别当前的域名,并且会自动根据子域名部署设置APP_SUB_DOMAIN_DEPLOY和APP_SUB_DOMAIN_RULES自动匹配生成当前地址的子域名。
如果开启了URL_CASE_INSENSITIVE,则会统一生成小写的URL地址。