首页  >  文章  >  后端开发  >  关于ThinkPHP惯例配置文件的分析

关于ThinkPHP惯例配置文件的分析

不言
不言原创
2018-06-21 14:39:061498浏览

这篇文章主要介绍了ThinkPHP惯例配置文件,对于进一步了解ThinkPHP各个属性配置有很大帮助,需要的朋友可以参考下

ThinkPHP的系统内置有一个惯例配置文件(位于系统目录下面的Conf\convention.php),按照大多数的使用对常用参数进行了默认配置。本文对惯例配置文件作出注释详解如下,供大家参考:

<?php
/**
+------------------------------------------------------------------------------
* ThinkPHP惯例配置文件
* 该文件请不要修改,如果要覆盖惯例配置的值,可在项目配置文件中设定和惯例不符的配置项
* 配置名称大小写任意,系统会统一转换成小写
* 所有配置参数都可以在生效前动态改变
+------------------------------------------------------------------------------
* @category Think
* @package Common
* @version $Id$
+------------------------------------------------------------------------------
*/
if (!defined(&#39;THINK_PATH&#39;)) exit();
return array(

/* 项目设定 */
&#39;APP_DEBUG&#39;   => false, // 是否开启调试模式
&#39;APP_DOMAIN_DEPLOY&#39;   => false,  // 是否使用独立域名部署项目
&#39;APP_PLUGIN_ON&#39;     => false,  // 是否开启插件机制
&#39;APP_FILE_CASE&#39;     => false,  // 是否检查文件的大小写 对Windows平台有效
&#39;APP_GROUP_DEPR&#39;    => &#39;.&#39;,   // 模块分组之间的分割符
&#39;APP_GROUP_LIST&#39;    => &#39;&#39;,   // 项目分组设定,多个组之间用逗号分隔,例如&#39;Home,Admin&#39;
&#39;APP_AUTOLOAD_REG&#39;   => false,  // 是否开启SPL_AUTOLOAD_REGISTER
&#39;APP_AUTOLOAD_PATH&#39;   => &#39;Think.Util.&#39;,// __autoLoad 机制额外检测路径设置,注意搜索顺序
&#39;APP_CONFIG_LIST&#39;    => array(&#39;taglibs&#39;,&#39;routes&#39;,&#39;tags&#39;,&#39;htmls&#39;,&#39;modules&#39;,&#39;actions&#39;),// 项目额外需要加载的配置列表,默认包括:taglibs(标签库定义),routes(路由定义),tags(标签定义),(htmls)静态缓存定义, modules(扩展模块),actions(扩展操作)

/* Cookie设置 */
&#39;COOKIE_EXPIRE&#39;     => 3600,  // Coodie有效期
&#39;COOKIE_DOMAIN&#39;     => &#39;&#39;,   // Cookie有效域名
&#39;COOKIE_PATH&#39;      => &#39;/&#39;,   // Cookie路径
&#39;COOKIE_PREFIX&#39;     => &#39;&#39;,   // Cookie前缀 避免冲突

/* 默认设定 */
&#39;DEFAULT_APP&#39;      => &#39;@&#39;,   // 默认项目名称,@表示当前项目
&#39;DEFAULT_GROUP&#39;     => &#39;Home&#39;, // 默认分组
&#39;DEFAULT_MODULE&#39;    => &#39;Index&#39;, // 默认模块名称
&#39;DEFAULT_ACTION&#39;    => &#39;index&#39;, // 默认操作名称
&#39;DEFAULT_CHARSET&#39;    => &#39;utf-8&#39;, // 默认输出编码
&#39;DEFAULT_TIMEZONE&#39;   => &#39;PRC&#39;, // 默认时区
&#39;DEFAULT_AJAX_RETURN&#39;  => &#39;JSON&#39;, // 默认AJAX 数据返回格式,可选JSON XML ...
&#39;DEFAULT_THEME&#39;  => &#39;default&#39;, // 默认模板主题名称
&#39;DEFAULT_LANG&#39;     => &#39;zh-cn&#39;, // 默认语言

/* 数据库设置 */
&#39;DB_TYPE&#39;        => &#39;mysql&#39;,   // 数据库类型
&#39;DB_HOST&#39;        => &#39;localhost&#39;, // 服务器地址
&#39;DB_NAME&#39;        => &#39;&#39;,     // 数据库名
&#39;DB_USER&#39;        => &#39;root&#39;,   // 用户名
&#39;DB_PWD&#39;        => &#39;&#39;,     // 密码
&#39;DB_PORT&#39;        => 3306,    // 端口
&#39;DB_PREFIX&#39;       => &#39;think_&#39;,  // 数据库表前缀
&#39;DB_SUFFIX&#39;       => &#39;&#39;,     // 数据库表后缀
&#39;DB_FIELDTYPE_CHECK&#39;  => false,    // 是否进行字段类型检查
&#39;DB_FIELDS_CACHE&#39;    => true,    // 启用字段缓存
&#39;DB_CHARSET&#39;      => &#39;utf8&#39;,   // 数据库编码默认采用utf8
&#39;DB_DEPLOY_TYPE&#39;    => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
&#39;DB_RW_SEPARATE&#39;    => false,    // 数据库读写是否分离 主从式有效

/* 数据缓存设置 */
&#39;DATA_CACHE_TIME&#39;  => -1,   // 数据缓存有效期
&#39;DATA_CACHE_COMPRESS&#39;  => false,  // 数据缓存是否压缩缓存
&#39;DATA_CACHE_CHECK&#39;  => false,  // 数据缓存是否校验缓存
&#39;DATA_CACHE_TYPE&#39;  => &#39;File&#39;, // 数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqlite| Xcache|Apachenote|Eaccelerator
&#39;DATA_CACHE_PATH&#39;    => TEMP_PATH,// 缓存路径设置 (仅对File方式缓存有效)
&#39;DATA_CACHE_SUBDIR&#39;  => false,  // 使用子目录缓存 (自动根据缓存标识的哈希创建子目录)
&#39;DATA_PATH_LEVEL&#39;    => 1,    // 子目录缓存级别

/* 错误设置 */
&#39;ERROR_MESSAGE&#39; => &#39;您浏览的页面暂时发生了错误!请稍后再试~&#39;,//错误显示信息,非调试模式有效
&#39;ERROR_PAGE&#39;  => &#39;&#39;, // 错误定向页面

/* 静态缓存设置 */
&#39;HTML_CACHE_ON&#39;  => false,  // 默认关闭静态缓存
&#39;HTML_CACHE_TIME&#39;  => 60,   // 静态缓存有效期
&#39;HTML_READ_TYPE&#39;    => 0,    // 静态缓存读取方式 0 readfile 1 redirect
&#39;HTML_FILE_SUFFIX&#39;   => &#39;.shtml&#39;,// 默认静态文件后缀

/* 语言设置 */
&#39;LANG_SWITCH_ON&#39;    => false,  // 默认关闭多语言包功能
&#39;LANG_AUTO_DETECT&#39;   => true,  // 自动侦测语言 开启多语言功能后有效

/* 日志设置 */
&#39;LOG_RECORD&#39;      => false,  // 默认不记录日志
&#39;LOG_FILE_SIZE&#39;     => 2097152, // 日志文件大小限制
&#39;LOG_RECORD_LEVEL&#39;   => array(&#39;EMERG&#39;,&#39;ALERT&#39;,&#39;CRIT&#39;,&#39;ERR&#39;),// 允许记录的日志级别

/* 分页设置 */
&#39;PAGE_ROLLPAGE&#39;     => 5,   // 分页显示页数
&#39;PAGE_LISTROWS&#39;     => 20,   // 分页每页显示记录数

/* SESSION设置 */
&#39;SESSION_AUTO_START&#39;  => true,  // 是否自动开启Session
// 内置SESSION类可用参数
//&#39;SESSION_NAME&#39;     => &#39;&#39;,   // Session名称
//&#39;SESSION_PATH&#39;     => &#39;&#39;,   // Session保存路径
//&#39;SESSION_CALLBACK&#39;   => &#39;&#39;,   // Session 对象反序列化时候的回调函数

/* 运行时间设置 */
&#39;SHOW_RUN_TIME&#39;  => false,  // 运行时间显示
&#39;SHOW_ADV_TIME&#39;  => false,  // 显示详细的运行时间
&#39;SHOW_DB_TIMES&#39;  => false,  // 显示数据库查询和写入次数
&#39;SHOW_CACHE_TIMES&#39;  => false,  // 显示缓存操作次数
&#39;SHOW_USE_MEM&#39;  => false,  // 显示内存开销
&#39;SHOW_PAGE_TRACE&#39;  => false,  // 显示页面Trace信息 由Trace文件定义和Action操作赋值
&#39;SHOW_ERROR_MSG&#39;    => true,  // 显示错误信息

/* 模板引擎设置 */
&#39;TMPL_ENGINE_TYPE&#39;  => &#39;Think&#39;,   // 默认模板引擎 以下设置仅对使用Think模板引擎有效
&#39;TMPL_DETECT_THEME&#39;   => false,    // 自动侦测模板主题
&#39;TMPL_TEMPLATE_SUFFIX&#39; => &#39;.html&#39;,   // 默认模板文件后缀
&#39;TMPL_CACHFILE_SUFFIX&#39; => &#39;.php&#39;,   // 默认模板缓存后缀
&#39;TMPL_DENY_FUNC_LIST&#39; => &#39;echo,exit&#39;, // 模板引擎禁用函数
&#39;TMPL_PARSE_STRING&#39;   => &#39;&#39;,     // 模板引擎要自动替换的字符串,必须是数组形式。
&#39;TMPL_L_DELIM&#39;     => &#39;{&#39;,  // 模板引擎普通标签开始标记
&#39;TMPL_R_DELIM&#39;     => &#39;}&#39;,  // 模板引擎普通标签结束标记
&#39;TMPL_VAR_IDENTIFY&#39;   => &#39;array&#39;,   // 模板变量识别。留空自动判断,参数为&#39;obj&#39;则表示对象
&#39;TMPL_STRIP_SPACE&#39;   => false,    // 是否去除模板文件里面的html空格与换行
&#39;TMPL_CACHE_ON&#39;  => true,    // 是否开启模板编译缓存,设为false则每次都会重新编译
&#39;TMPL_CACHE_TIME&#39;  => -1,     // 模板缓存有效期 -1 为永久,(以数字为值,单位:秒)
&#39;TMPL_ACTION_ERROR&#39;   => &#39;Public:success&#39;, // 默认错误跳转对应的模板文件
&#39;TMPL_ACTION_SUCCESS&#39;  => &#39;Public:success&#39;, // 默认成功跳转对应的模板文件
&#39;TMPL_TRACE_FILE&#39;    => THINK_PATH.&#39;/Tpl/PageTrace.tpl.php&#39;,   // 页面Trace的模板文件
&#39;TMPL_EXCEPTION_FILE&#39;  => THINK_PATH.&#39;/Tpl/ThinkException.tpl.php&#39;,// 异常页面的模板文件
&#39;TMPL_FILE_DEPR&#39;=>&#39;/&#39;, //模板文件MODULE_NAME与ACTION_NAME之间的分割符,只对项目分组部署有效
// Think模板引擎标签库相关设定
&#39;TAGLIB_BEGIN&#39;     => &#39;<&#39;, // 标签库标签开始标记
&#39;TAGLIB_END&#39;      => &#39;>&#39;, // 标签库标签结束标记
&#39;TAGLIB_LOAD&#39;      => true, // 是否使用内置标签库之外的其它标签库,默认自动检测
&#39;TAGLIB_BUILD_IN&#39;    => &#39;cx&#39;, // 内置标签库名称(标签使用不必指定标签库名称),以逗号分隔
&#39;TAGLIB_PRE_LOAD&#39;    => &#39;&#39;,  // 需要额外加载的标签库(须指定标签库名称),多个以逗号分隔
&#39;TAG_NESTED_LEVEL&#39;  => 3,  // 标签嵌套级别
&#39;TAG_EXTEND_PARSE&#39;   => &#39;&#39;,  // 指定对普通标签进行扩展定义和解析的函数名称。

/* 表单令牌验证 */
&#39;TOKEN_ON&#39;          =>  true,   // 开启令牌验证
&#39;TOKEN_NAME&#39;        =>  &#39;__hash__&#39;,  // 令牌验证的表单隐藏字段名称
&#39;TOKEN_TYPE&#39;         =>  &#39;md5&#39;,  // 令牌验证哈希规则

/* URL设置 */
&#39;URL_CASE_INSENSITIVE&#39; => false,  // URL地址是否不区分大小写
&#39;URL_ROUTER_ON&#39;     => false,  // 是否开启URL路由
&#39;URL_DISPATCH_ON&#39;    => true, // 是否启用Dispatcher
&#39;URL_MODEL&#39;   => 1,    // URL访问模式,可选参数0、1、2、3,代表以下四种模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 当URL_DISPATCH_ON开启后有效; 默认为PATHINFO 模式,提供最好的用户体验和SEO支持
&#39;URL_PATHINFO_MODEL&#39;  => 2,    // PATHINFO 模式,使用数字1、2、3代表以下三种模式:
// 1 普通模式(参数没有顺序,例如/m/module/a/action/id/1);
// 2 智能模式(系统默认使用的模式,可自动识别模块和操作/module/action/id/1/ 或者 /module,action,id,1/...);
// 3 兼容模式(通过一个GET变量将PATHINFO传递给dispather,默认为s index.php?s=/module/action/id/1)
&#39;URL_PATHINFO_DEPR&#39;   => &#39;/&#39;, // PATHINFO模式下,各参数之间的分割符号
&#39;URL_HTML_SUFFIX&#39;    => &#39;&#39;, // URL伪静态后缀设置

/* 系统变量名称设置 */
&#39;VAR_GROUP&#39;       => &#39;g&#39;,   // 默认分组获取变量
&#39;VAR_MODULE&#39;      => &#39;m&#39;,  // 默认模块获取变量
&#39;VAR_ACTION&#39;      => &#39;a&#39;,  // 默认操作获取变量
&#39;VAR_ROUTER&#39;      => &#39;r&#39;,   // 默认路由获取变量
&#39;VAR_PAGE&#39;       => &#39;p&#39;,  // 默认分页跳转变量
&#39;VAR_TEMPLATE&#39;     => &#39;t&#39;,  // 默认模板切换变量
&#39;VAR_LANGUAGE&#39;     => &#39;l&#39;,  // 默认语言切换变量
&#39;VAR_AJAX_SUBMIT&#39;    => &#39;ajax&#39;, // 默认的AJAX提交变量
&#39;VAR_PATHINFO&#39;     => &#39;s&#39;, // PATHINFO 兼容模式获取变量例如 ?s=/module/action/id/1 后面的参数取决于URL_PATHINFO_MODEL 和 URL_PATHINFO_DEPR

);

此外,还需注意,由于新版系统架构的改变,部分惯例配置的参数已经分离出来纳入了行为扩展的属性参数,读者可查阅手册进一步了解。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

php中如何通过虚代理实现延迟加载

PHP APC的2套配置文件和参数的解析

以上是关于ThinkPHP惯例配置文件的分析的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn