模板替换:在进行模板输出之前,系统还会对渲染的模板结果进行一些模板的特殊字符串替换操作,也就是实现了模板输出的替换和过滤。。。
我们在配置文件中可以加入这样的配置项;
'TMPL_PARSE_STRING' => array(
'__PUBLIC__' => '/'.APP_NAME.'/Public', // 更改默认的__PUBLIC__ 替换规则
'__UPLOAD__' => '/'.APP_NAME.'/Uploads', // 增加新的上传路径替换规则
),
'__PUBLIC__' => '/'.APP_NAME.'/Public', // 更改默认的__PUBLIC__ 替换规则
'__UPLOAD__' => '/'.APP_NAME.'/Uploads', // 增加新的上传路径替换规则
),
我们在action里写入$this->display后,最终会执行到View.class.php的templateContentReplace()模板内容替换方法
方法内有这一句:
if(is_array(C('TMPL_PARSE_STRING')))
$replace = array_merge($replace,C('TMPL_PARSE_STRING'));也就是说,会将$replace数组里面元素替换成我们自定义的配置项,这就是自定义模版的字符串替换的原理