自定义模版的字符串替换的原理

模板替换:在进行模板输出之前,系统还会对渲染的模板结果进行一些模板的特殊字符串替换操作,也就是实现了模板输出的替换和过滤。。。

我们在配置文件中可以加入这样的配置项;

'TMPL_PARSE_STRING' => array(

        '__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数组里面元素替换成我们自定义的配置项,这就是自定义模版的字符串替换的原理

posted @ 2012-08-29 15:08  fxair  阅读(267)  评论(0编辑  收藏  举报