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 相关文章推荐
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
Nov 28 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
Dec 14 Javascript
js AppendChild与insertBefore用法详细对比
Dec 16 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
Jan 26 Javascript
node.js中的fs.lchmodSync方法使用说明
Dec 16 Javascript
详解JavaScript的Date对象(制作简易钟表)
Apr 07 Javascript
老生常谈jacascript DOM节点获取
Apr 17 Javascript
让你彻底掌握es6 Promise的八段代码
Jul 26 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
Dec 20 Javascript
Vue中对比scoped css和css module的区别
May 17 Javascript
react 移动端实现列表左滑删除的示例代码
Jul 04 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
Sep 27 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
PHP原理之异常机制深入分析
2010/08/08 PHP
php 获取本地IP代码
2013/06/23 PHP
解析php中curl_multi的应用
2013/07/17 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
javascript检查表单数据是否改变的方法
2013/07/30 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
JS函数重载的解决方案
2014/05/13 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
vue代理和跨域问题的解决
2018/07/18 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
PyQt实现界面翻转切换效果
2018/04/20 Python
python最长回文串算法
2018/06/04 Python
Linux操作面试题
2015/02/11 面试题
办公室前台岗位职责范本
2013/12/10 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
详细聊聊关于Mysql联合查询的那些事儿
2021/10/24 MySQL
nginx lua 操作 mysql
2022/05/15 Servers
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS