ThinkPHP 系統定義了一些特殊的字符串(常量)以方便在模板中的使用,這些特殊字符串給模板的應用帶來了極大的便利。php
這些特殊的字符串是在進行模板輸出以前有系統自動替換的,默認的模板特殊字符串以下:css
假定咱們的網站爲:www.5idev.comhtml
定義項目文件爲網站根目錄下 Home 目錄thinkphp
當前模塊爲:Indexide
當前操做爲:indexpost
當前頁面 URL 則爲:http://www.5idev.com/index.php/Index/index測試
那麼上述特殊字符在 index.html 模板中被解釋爲:網站
__PUBLIC__:會定位於 DOCUMENT_ROOT 級別的根目錄下。code
__ROOT__:則與項目入口文件有關,不必定定位於 DOCUMENT_ROOT 下。orm
__ACTION__:行爲相似於 $_SERVER['REQUEST_URI'] ,當改寫了訪問 URL 時(如利用 .htaccess 文件),其結果與 __SELF__ 不一致。
__SELF__:行爲相似於 $_SERVER['PHP_SELF'] ,一般是實際頁面地址。
以上特殊字符嚴格區分大小寫,在實際應用中最好根據本身的項目部署狀況通過具體測試後使用,以避免產生不可預知的問題。
例子1,首頁連接:
<a href="__ROOT__/" title="Web開發在線教程">首頁</a>
例子2,加載公共目錄 CSS 文件:
<load href='__PUBLIC__/Css/default.css' />
例子3,提交表單數據:
<form action="__URL__/insert" method="post">
ThinkPHP 支持用戶更改默認的替換規則甚至定義本身的模板替換特殊字符串。在項目配置文件中配置 TMPL_PARSE_STRING 選項以更改或增長模板替換字符串,如:
TMPL_PARSE_STRING => array( '__PUBLIC__' => '/Common', // 更改默認的 __PUBLIC__ 替換規則 '__UPLOAD__' => '/Public/Uploads/', // 增長新的上傳路徑替換規則 )