ThinkPHP3.0完全开发手册                                           

 

8.2   系统变量

除了常规变量的输出外,模板引擎还支持系统变量和系统常量、以及系统特殊变量的输出。它们的输出不需要事先赋值给某个模板变量。系统变量的输出必须以$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、系统变量:包括serversessionpostgetrequestcookie

{$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变量。后面的servercookieconfig不区分大小写,但是变量区分大小写。例如:

{$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变量

 

2系统常量:使用$Think.const 输出

{$Think.const.__SELF__ 

{$Think.const.MODULE_NAME }

或者直接使用

{$Think.__SELF__ 

{$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')的返回结果是一样的。


NetPc