php

thinkphp变量的定义规则

2023-05-04

除了常规变量的输出外,模板引擎还支持系统变量和系统常量、以及系统特殊变量的输出。它们的输出不需要事先赋值给某个模板变量。系统变量的输出必须以$Think. 打头,并且仍然可以支持使用函数。

系统变量:包括server、session、post、get、request、cookie


一、thinkphp变量的定义规则

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


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


输出的值和L(‘page_error’)的返回结果是一样的。


XML/HTML代码


{$Think.config.user.user_name}


二、语言变量:输出项目的当前语言定义值


{$Think.lang.page_error}


XML/HTML代码


{$Think.const./index.php/Manual/197 }


{$Think.const.MODULE_NAME }


或者直接使用

{$Think./index.php/Manual/197 }

{$Think.MODULE_NAME }


三、特殊变量 :由ThinkPHP系统内部定义的常量

{$Think.version } //版本

{$Think.now } //现在时间

{$Think.template|basename } //模板页面

{$Think.LDELIM } //模板标签起始符号

{$Think.RDELIM } //模板标签结束符号


四、配置参数 :输出项目的配置参数值

{$Think.config.db_charset}

输出的值和C(‘db_charset’) 的返回结果是一样的。


五、thinkphp的Action使用的系统常量

Action中使用的系统常量有:

THINK_PATH // ThinkPHP 系统目录

APP_PATH // 当前项目目录


APP_NAME // 当前项目名称


MODULE_NAME //当前模块名称


ACTION_NAME // 当前操作名称


TMPL_PATH // 项目模版目录


LIB_PATH // 项目类库目录


CACHE_PATH // 项目模版缓存目录


CONFIG_PATH //项目配置文件目录


LOG_PATH // 项目日志文件目录


LANG_PATH // 项目语言文件目录


TEMP_PATH //项目临时文件目录


PLUGIN_PATH // 项目插件文件目录


VENDOR_PATH // 第三方类库目录


DATA_PATH // 项目数据文件目录


IS_APACHE // 是否属于 Apache


IS_IIS //是否属于 IIS


IS_WIN //是否属于Windows 环境


IS_LINUX //是否属于 Linux 环境


IS_FREEBSD //是否属于 FreeBsd 环境


NOW_TIME // 当前时间戳


MEMORY_LIMIT_ON // 是否有内存使用限制


OUTPUT_GZIP_ON // 是否开启输出压缩


MAGIC_QUOTES_GPC // MAGIC_QUOTES_GPC


THINK_VERSION //ThinkPHP 版本号


LANG_SET // 浏览器语言


TEMPLATE_NAME //当前模版名称


TEMPLATE_PATH //当前模版路径


__ROOT__ // 网站根目录地址


__APP__ // 当前项目(入口文件)地址


__URL__ // 当前模块地址


__ACTION__ // 当前操作地址


__SELF__ // 当前 URL 地址


TMPL_FILE_NAME //当前操作的默认模版名(含路径)


WEB_PUBLIC_URL //网站公共目录


APP_PUBLIC_URL //项目公共模版目录模板中使用的系统常量


__ROOT__ // 网站根目录地址


__APP__ // 当前项目(入口文件)地址


__URL__ // 当前模块地址


__ACTION__ // 当前操作地址


__SELF__ // 当前 URL 地址


__PUBLIC__ // 网站公共目录


../Public(不区分大小写) // 项目公共模版目录


六、thinkphp模板中使用的系统常量


__ROOT__ // 网站根目录地址


__APP__ // 当前项目(入口文件)地址


__URL__ // 当前模块地址


__ACTION__ // 当前操作地址


__SELF__ // 当前 URL 地址


__PUBLIC__ // 网站公共目录


../Public(不区分大小写) // 项目公共模版目录