8.2 系统变量
匿名 · 更新于 2013/12/26
除了常规变量的输出外,模板引擎还支持系统变量和系统常量、以及系统特殊变量的输出。它们的输出不需要事先赋值给某个模板变量。系统变量的输出必须以$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} |
2
1、系统变量:包括server、session、post、get、request、cookie
{$Think.server.script_name }和{$Think.SERVER.script_name }等效
SESSION 、COOKIE还支持二维数组的输出,例如:
以上方式还可以写成:
设置参数如下:
{$Think.session.name}会自动解析成 $_SESSION['think']['name']
{$Think.cookie.name}会自动解析成 $_COOKIE['think_name']
{$Think.server.script_name} // 输出$_SERVER变量{$Think.session.session_id|md5} // 输出$_SESSION变量{$Think.get.pageNumber} // 输出$_GET变量{$Think.cookie.name} // 输出$_COOKIE变量
{$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_PREFIX'=>'think','COOKIE_PREFIX'=>'think_',
{$Think.session.name}会自动解析成 $_SESSION['think']['name']
{$Think.cookie.name}会自动解析成 $_COOKIE['think_name']
1
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}
也可以输出二维的配置参数,例如:
{$Think.config.user.user_name}
5、语言变量:输出项目的当前语言定义值
{$Think.lang.page_error}
