### 模板替換
在進行模板渲染之前,系統還會對讀取的模板內容進行一些特殊字符串替換操作,也就是實現了模板輸出的替換和過濾。該替換操作僅針對內置的模版引擎。
這個機制可以使得模板文件的定義更加方便,默認的替換規則有:
~~~
__ROOT__: 會替換成當前網站的地址(不含域名)
__APP__: 會替換成當前應用的URL地址 (不含域名)
__MODULE__:會替換成當前模塊的URL地址 (不含域名)
__CONTROLLER__(__或者__URL__ 兼容考慮): 會替換成當前控制器的URL地址(不含域名)
__ACTION__:會替換成當前操作的URL地址 (不含域名)
__SELF__: 會替換成當前的頁面URL
__PUBLIC__:會被替換成當前網站的公共目錄 通常是 /Public
~~~
注意這些特殊的字符串是嚴格區別大小寫的,并且這些特殊字符串的替換規則是可以更改或者增加的,我們只需要在應用或者模塊的配置文件中配置TMPL_PARSE_STRING就可以完成。如果有相同的數組索引,就會更改系統的默認規則。例如:
~~~
'TMPL_PARSE_STRING' =>array(
'__PUBLIC__' => '/Common', // 更改默認的/Public 替換規則
'__JS__' => '/Public/JS/', // 增加新的JS類庫路徑替換規則
'__UPLOAD__' => '/Uploads', // 增加新的上傳路徑替換規則
)
~~~
有了模板替換規則后,模板中的所有__PUBLIC__字符串都會被替換,那如果確實需要輸出__PUBLIC__字符串到模板呢,我們可以通過增加替換規則的方式,例如:
~~~
'TMPL_PARSE_STRING' =>array(
'--PUBLIC--' => '__PUBLIC__', // 采用新規則輸出`__PUBLIC__`字符串
)
~~~
這樣增加替換規則后,如果我們要在模板中使用__PUBLIC__字符串,只需要在模板中添加--PUBLIC--,其他替換字符串的輸出方式類似。