快捷方法
ThinkPHP 为一些常用的操作定义了快捷方法,这些方法以单字母命名,具有比较容易记忆的特点。非常有意思的是,这些快捷方法的字母包含了 ADSL 字母,所以我们称之为 ADSL 方法,但是并不局限于 ADSL 四个方法,包括下面的:
A快速实例化Action类库
B执行行为类
C配置参数存取方法
D快速实例化Model类库
F快速简单文本数据存取方法
L 语言参数存取方法
M快速高性能实例化模型
R快速远程调用Action类方法
S快速缓存存取方法
U URL动态生成和重定向方法
W 快速Widget输出方法
由上可知,快捷方法的命名方式,一般是以该方法所对应的符合其功能意义的英文单词首字母进行命名
模板替换
在进行模板输出之前,系统还会对渲染的模板结果进行一些模板的特殊字符串替换操作,也就是实现了模板输出的替换和过滤。这个机制可以使得模板文件的定义更加方便,默认的替换规则有:
../Public: 会被替换成当前项目的公共模板目录 通常是 /项目目录/Tpl/default/Public/
__PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/
__TMPL__: 会替换成项目的模板目录 通常是 /项目目录/Tpl/default/
__ROOT__: 会替换成当前网站的地址(不含域名)
__APP__: 会替换成当前项目的URL地址 (不含域名)
__URL__: 会替换成当前模块的URL地址(不含域名)
__ACTION__:会替换成当前操作的URL地址 (不含域名)
__SELF__: 会替换成当前的页面URL
注意这些特殊的字符串是严格区别大小写的,并且这些特殊字符串的替换规则是可以更改或者增加的,我们只需要在项目配置文件中配置TMPL_PARSE_STRING就可以完成。如果有相同的数组索引,就会更改系统的默认规则。例如:
TMPL_PARSE_STRING => array(
'__PUBLIC__' => '/Common', // 更改默认的__PUBLIC__ 替换规则
'__UPLOAD__' => '/Public/Uploads/', // 增加新的上传路径替换规则
)
事实上,表单令牌验证的令牌验证字符串的自动生成,也是在这个阶段进行替换的。