ThInkPHP中的常量
除了正常變量的輸出外,模闆引擎還支援系統變量和系統常量、以及系統特殊變量的輸出。它們的輸出不需要事先指派給某個模闆變量。系統變量的輸出必須以$Think.打頭,并且仍然可以支援使用函數。常用的系統變量輸出包括下面:
用法 含義 例子
$Think.server 擷取$_SERVER {$Think.server.php_self}
$Think.get 擷取$_GET {$Think.get.id}
$Think.post 擷取$_POST {$Think.post.name}
$Think.request 擷取$_REQUEST {$Think.request.user_id}
$Think.cookie 擷取$_COOKIE {$Think.cookie.username}
$Think.session 擷取$_SESSION {$Think.session.user_id}
$Think.config 擷取系統配置參數 {$Think.config.app_status}
$Think.lang 擷取系統語言變量 {$Think.lang.user_type}
$Think.const 擷取系統常量 {$Think.const.app_name}或{$Think.APP_NAME}
$Think.env 擷取環境變量 {$Think.env.HOSTNAME}
$Think.version 擷取架構版本号 {$Think.version}
$Think.now 擷取目前時間 {$Think.now}
$Think.template 擷取目前模闆 {$Think.template}
$Think.ldelim 擷取模闆左界定符 {$Think.ldelim}
$Think.rdelim 擷取模闆右界定符 {$Think.rdelim}
1、系統變量:包括server、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、$_ENV、 $_POST、 $_GET、 $_REQUEST、$_SESSION和 $_COOKIE變量。後面的server、cookie、config不區分大小寫,但是變量區分大小寫。例如:
{$Think.server.script_name }和{$Think.SERVER.script_name }等效
SESSION 、COOKIE還支援二維數組的輸出,例如:
{$Think.CONFIG.user.user_name}
{$Think.session.user.user_name}
系統不支援三維以上的數組輸出,請使用下面的方式輸出。
以上方式還可以寫成:
{$_SERVER.script_name} // 輸出$_SERVER變量
{$_SESSION.session_id|md5} // 輸出$_SESSION變量
{$_GET.pageNumber} // 輸出$_GET變量
{$_COOKIE.name} // 輸出$_COOKIE變量
如果配置了session和cookie字首的話,會自動支援,例如:
設定參數如下:
'SESSION_PREFIX'=>'think',
'COOKIE_PREFIX'=>'think_',
那麼
{$Think.session.name}會自動解析成 $_SESSION['think']['name']
{$Think.cookie.name}會自動解析成 $_COOKIE['think_name']
2、系統常量:使用$Think.const 輸出
{$Think.const./manual/system_var.html}
{$Think.const.MODULE_NAME}
或者直接使用
{$Think./manual/system_var.html}
{$Think.MODULE_NAME}
3、特殊變量:由ThinkPHP系統内部定義的常量
{$Think.version} //版本
{$Think.now} //現在時間
{$Think.template|basename} //模闆頁面
{$Think.LDELIM} //模闆标簽起始符号
{$Think.RDELIM} //模闆标簽結束符号
4、配置參數:輸出項目的配置參數值
{$Think.config.db_charset}
輸出的值和C('db_charset') 的傳回結果是一樣的。
也可以輸出二維的配置參數,例如:
{$Think.config.user.user_name}
5、語言變量:輸出項目的目前語言定義值
{$Think.lang.page_error}
輸出的值和L('page_error')的傳回結果是一樣的。