在 Thinkphp 模板引擎可以不需要賦值給某個模板變量而直接輸出一些系統變量和系統常量、以及系統特殊變量。對於系統變量的輸出必須以$Think. 打頭,並且仍然可以支持使用函數。下面就分別做一下分享。
(1)系統變量:在模板中輸出系統變量:包括server、env、session、post、get、request、cookie
{$Think.server.script_name} // 輸出$_SERVER變量
{$Think.session.session_id|md5} // 輸出$_SESSION變量
{$Think.get.pageNumber} // 輸出$_GET變量
{$Think.cookie.name} // 輸出$_COOKIE變量
以上方式還可以寫成:
{$_SERVER.script_name} // 輸出$_SERVER變量
{$_SESSION.session_id|md5} // 輸出$_SESSION變量
{$_GET.pageNumber} // 輸出$_GET變量
{$_COOKIE.name} // 輸出$_COOKIE變量
系統常量 :使用$Think.const 輸出
注意:server、cookie、config不區分大小寫,但是變量區分大小寫。例如:
{$Think.server.script_name}和{$Think.SERVER.script_name}等效
SESSION 、COOKIE還支持二維數組的輸出
例如:
{$Think.CONFIG.user.user_name}
{$Think.session.user.user_name}
系統不支持三維以上的數組輸出。
(2)語言變量:輸出項目的當前語言定義值
{$Think.lang.page_error}
{$Think.const.MODULE_NAME}
或者直接使用
{$Think.MODULE_NAME}
(3)特殊變量 :由ThinkPHP系統內部定義的常量
{$Think.version} //版本
{$Think.now} //現在時間
{$Think.template|basename} //模板頁面
{$Think.LDELIM} //模板標簽起始符號
{$Think.RDELIM} //模板標簽結束符號
(4)配置參數 :輸出項目的配置參數值
{$Think.config.db_charset}
輸出的值和 C('db_charset') 的結果是一樣的。
(5)thinkphp 的系統常量(注意以下常量也可以直接在 action 控制器中直接使用)
__ROOT__ // 網站根目錄地址
__APP__ // 當前項目(入口文件)地址
__URL__ // 當前模塊地址
__ACTION__ // 當前操作地址
__SELF__ // 當前 URL 地址
__PUBLIC__ // 網站公共目錄