thinkphp中常用的系统常量和系统变量


Posted in Javascript onMarch 05, 2014

----------------------------------------模板中使用的系统变量和常量----------------------------------------
(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') 的结果是一样的。

----------------------------------------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 (不区分大小写) // 项目公共模版目录
注:当我们使用常量时,在模板被加载后在浏览器查看源码,我们观察某些使用了常量的URL,会发现一个现象,看不到服务器的ip地址,URL是从项
目名开始的,那为什么能正确访问对应的控制器呢?实际上这是浏览器给我们开了一个玩笑,当我们将鼠标移动到该URL上,单击右键,复制源码中的
URL,粘贴到别的地方,服务器的ip就会显示出来了,可见服务器ip是被包含进了该URL中使用的常量的。
---------------------------------------- 自定义常量 ----------------------------------------
在项目文件夹 (如:Home) 中的Common文件夹下新建common.php
加入如下语句:
define('XXX', XXX); //第一个参数是常量名,第二个参数是常量值

Javascript 相关文章推荐
YUI 读码日记之 YAHOO.util.Dom - Part.1
Mar 22 Javascript
JQuery以JSON方式提交数据到服务端示例代码
May 05 Javascript
JavaScript中三个等号和两个等号你了解多少
Jul 04 Javascript
激动人心的 Angular HttpClient的源码解析
Jul 10 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
Nov 14 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
Jan 03 Javascript
vue-router之nuxt动态路由设置的两种方法小结
Sep 26 Javascript
移动端(微信等使用vConsole调试console的方法
Mar 05 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
May 21 Javascript
微信小程序 可搜索的地址选择实现详解
Aug 28 Javascript
探索浏览器页面关闭window.close()的使用详解
Aug 21 Javascript
Js跳出两级循环方法代码实例
Sep 22 Javascript
js判断ie版本号的简单实现代码
Mar 05 #Javascript
浅析tr的隐藏和显示问题
Mar 05 #Javascript
jQuery性能优化的38个建议
Mar 04 #Javascript
javascript设计模式之工厂模式示例讲解
Mar 04 #Javascript
js调用iframe实现打印页面内容的方法
Mar 04 #Javascript
JavaScript的21条基本知识点
Mar 04 #Javascript
js的2种继承方式详解
Mar 04 #Javascript
You might like
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
php过滤危险html代码
2008/08/18 PHP
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
php防盗链的常用方法小结
2010/07/02 PHP
php判断是否为json格式的方法
2014/03/04 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
vue.js+element 默认提示中英文操作
2020/11/11 Javascript
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
2016/04/27 Python
python实现微信自动回复功能
2018/04/11 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
python二进制文件的转译详解
2019/07/03 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
2020/01/24 Python
tensorboard显示空白的解决
2020/02/15 Python
python 基于opencv实现图像增强
2020/12/23 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
巴西本土电商平台:Americanas
2020/06/21 全球购物
How to spawning asynchronous work in J2EE
2016/08/29 面试题
实习心得体会
2014/01/02 职场文书
财务主管自我鉴定
2014/01/17 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
老公保证书
2015/01/17 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
Nginx下配置Https证书详细过程
2021/04/01 Servers