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 相关文章推荐
javascript preload&lazy load
May 13 Javascript
嵌入式iframe子页面与父页面js通信的方法
Jan 20 Javascript
使用JavaScript实现ajax的实例代码
May 11 Javascript
JS获取url参数,JS发送json格式的POST请求方法
Mar 29 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
Jun 13 Javascript
Vue.js更改调试地址端口号的实例
Sep 19 Javascript
JavaScript实现页面中录音功能的方法
Jun 04 Javascript
JS实现的对象去重功能示例
Jun 04 Javascript
基于axios 的responseType类型的设置方法
Oct 29 Javascript
vue 移动端记录页面浏览位置的方法
Mar 11 Javascript
Vue中正确使用Element-UI组件的方法实例
Oct 13 Javascript
JS + HTML 罗盘式时钟的实现
May 21 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 join函数应用
2011/05/04 PHP
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
vue实现购物车小案例
2019/09/27 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
[00:14]PWL:老朋友Mushi拍VLOG与中国玩家问好
2020/11/04 DOTA
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
详解Python3中的Sequence type的使用
2015/08/01 Python
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
python使用mysql数据库示例代码
2017/05/21 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
Python爬取网页信息的示例
2020/09/24 Python
线程同步的方法
2016/11/23 面试题
后勤副校长自我鉴定
2013/10/13 职场文书
关于工资低的辞职信
2014/01/14 职场文书
党建工作经验交流材料
2014/05/25 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
企业法人任命书
2015/09/21 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书
Python多个MP4合成视频的实现方法
2021/07/16 Python
python识别围棋定位棋盘位置
2021/07/26 Python
解决redis批量删除key值的问题
2022/03/23 Redis
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers