ThinkPHP惯例配置文件详解 |
|
本文标签:ThinkPHP,惯例,配置文件 ThinkPHP的系统内置有一个惯例配置文件(位于系统目录下面的Conf\convention.php),按照大多数的使用对常用参数进行了默认配置 。本文对惯例配置文件作出注释详解如下,供大家参考:
<?php
/**
+------------------------------------------------------------------------------
* ThinkPHP惯例配置文件
* 该文件请不要修改,如果要覆盖惯例配置的值,可在项目配置文件中设定和惯例不符的配置项
* 配置名称大小写任意,系统会统一转换成小写
* 所有配置参数都可以在生效前动态改变
+------------------------------------------------------------------------------
* @category Think
* @package Common
* @version $Id$
+------------------------------------------------------------------------------
*/
if (!defined(THINK_PATH)) exit();
return array(
/* 项目设定 */
APP_DEBUG => false, // 是否开启调试模式
APP_DOMAIN_DEPLOY => false, // 是否使用独立域名部署项目
APP_PLUGIN_ON => false, // 是否开启插件机制
APP_FILE_CASE => false, // 是否检查文件的大小写 对Windows平台有效
APP_GROUP_DEPR => ., // 模块分组之间的分割符
APP_GROUP_LIST => , // 项目分组设定,多个组之间用逗号分隔,例如Home,Admin
APP_AUTOLOAD_REG => false, // 是否开启SPL_AUTOLOAD_REGISTER
APP_AUTOLOAD_PATH => Think.Util.,// __autoLoad 机制额外检测路径设置,注意搜索顺序
APP_CONFIG_LIST => array(taglibs,routes,tags,htmls,modules,actions),// 项目额外需要加载的配置列表,默认包括:taglibs(标签库定义),routes(路由定义),tags(标签定义),(htmls)静态缓存定义, modules(扩展模块),actions(扩展操作)
/* Cookie设置 */
COOKIE_EXPIRE => 3600, // Coodie有效期
COOKIE_DOMAIN => , // Cookie有效域名
COOKIE_PATH => /, // Cookie路径
COOKIE_PREFIX => , // Cookie前缀 避免冲突
/* 默认设定 */
DEFAULT_APP => @, // 默认项目名称,@表示当前项目
DEFAULT_GROUP => Home, // 默认分组
DEFAULT_MODULE => Index, // 默认模块名称
DEFAULT_ACTION => index, // 默认操作名称
DEFAULT_CHARSET => utf-8, // 默认输出编码
DEFAULT_TIMEZONE => PRC, // 默认时区
DEFAULT_AJAX_RETURN => JSON, // 默认AJAX 数据返回格式,可选JSON XML ...
DEFAULT_THEME => default, // 默认模板主题名称
DEFAULT_LANG => zh-cn, // 默认语言
/* 数据库设置 */
DB_TYPE => mysql, // 数据库类型
DB_HOST => localhost, // 服务器地址
DB_NAME => , // 数据库名
DB_USER => root, // 用户名
DB_PWD => , // 密码
DB_PORT => 3306, // 端口
DB_PREFIX => think_, // 数据库表前缀
DB_SUFFIX => , // 数据库表后缀
DB_FIELDTYPE_CHECK => false, // 是否进行字段类型检查
DB_FIELDS_CACHE => true, // 启用字段缓存
DB_CHARSET => utf8, // 数据库编码默认采用utf8
DB_DEPLOY_TYPE => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
DB_RW_SEPARATE => false, // 数据库读写是否分离 主从式有效
/* 数据缓存设置 */
DATA_CACHE_TIME => -1, // 数据缓存有效期
DATA_CACHE_COMPRESS => false, // 数据缓存是否压缩缓存
DATA_CACHE_CHECK => false, // 数据缓存是否校验缓存
DATA_CACHE_TYPE => File, // 数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqlite| Xcache|Apachenote|Eaccelerator
DATA_CACHE_PATH => TEMP_PATH,// 缓存路径设置 (仅对File方式缓存有效)
DATA_CACHE_SUBDIR => false, // 使用子目录缓存 (自动根据缓存标识的哈希创建子目录)
DATA_PATH_LEVEL => 1, // 子目录缓存级别
/* 错误设置 */
ERROR_MESSAGE => 您浏览的页面暂时发生了错误!请稍后再试~,//错误显示信息,非调试模式有效
ERROR_PAGE => , // 错误定向页面
/* 静态缓存设置 */
HTML_CACHE_ON => false, // 默认关闭静态缓存
HTML_CACHE_TIME => 60, // 静态缓存有效期
HTML_READ_TYPE => 0, // 静态缓存读取方式 0 readfile 1 redirect
HTML_FILE_SUFFIX => .shtml,// 默认静态文件后缀
/* 语言设置 */
LANG_SWITCH_ON => false, // 默认关闭多语言包功能
LANG_AUTO_DETECT => true, // 自动侦测语言 开启多语言功能后有效
/* 日志设置 */
LOG_RECORD => false, // 默认不记录日志
LOG_FILE_SIZE => 2097152, // 日志文件大小限制
LOG_RECORD_LEVEL => array(EMERG,ALERT,CRIT,ERR),// 允许记录的日志级别
/* 分页设置 */
PAGE_ROLLPAGE => 5, // 分页显示页数
PAGE_LISTROWS => 20, // 分页每页显示记录数
/* SESSION设置 */
SESSION_AUTO_START => true, // 是否自动开启Session
// 内置SESSION类可用参数
//SESSION_NAME => , // Session名称
//SESSION_PATH => , // Session保存路径
//SESSION_CALLBACK => , // Session 对象反序列化时候的回调函数
/* 运行时间设置 */
SHOW_RUN_TIME => false, // 运行时间显示
SHOW_ADV_TIME => false, // 显示详细的运行时间
SHOW_DB_TIMES => false, // 显示数据库查询和写入次数
SHOW_CACHE_TIMES => false, // 显示缓存操作次数
SHOW_USE_MEM => false, // 显示内存开销
SHOW_PAGE_TRACE => false, // 显示页面Trace信息 由Trace文件定义和Action操作赋值
SHOW_ERROR_MSG => true, // 显示错误信息
/* 模板引擎设置 */
TMPL_ENGINE_TYPE => Think, // 默认模板引擎 以下设置仅对使用Think模板引擎有效
TMPL_DETECT_THEME => false, // 自动侦测模板主题
TMPL_TEMPLATE_SUFFIX => .html, // 默认模板文件后缀
TMPL_CACHFILE_SUFFIX => .php, // 默认模板缓存后缀
TMPL_DENY_FUNC_LIST => echo,exit, // 模板引擎禁用函数
TMPL_PARSE_STRING => , // 模板引擎要自动替换的字符串,必须是数组形式 。
TMPL_L_DELIM => {, // 模板引擎普通标签开始标记
TMPL_R_DELIM => }, // 模板引擎普通标签结束标记
TMPL_VAR_IDENTIFY => array, // 模板变量识别 。留空自动判断,参数为obj则表示对象
TMPL_STRIP_SPACE => false, // 是否去除模板文件里面的html空格与换行
TMPL_CACHE_ON => true, // 是否开启模板编译缓存,设为false则每次都会重新编译
TMPL_CACHE_TIME => -1, // 模板缓存有效期 -1 为永久,(以数字为值,单位:秒)
TMPL_ACTION_ERROR => Public:success, // 默认错误跳转对应的模板文件
TMPL_ACTION_SUCCESS => Public:success, // 默认成功跳转对应的模板文件
TMPL_TRACE_FILE => THINK_PATH./Tpl/PageTrace.tpl.php, // 页面Trace的模板文件
TMPL_EXCEPTION_FILE => THINK_PATH./Tpl/ThinkException.tpl.php,// 异常页面的模板文件
TMPL_FILE_DEPR=>/, //模板文件MODULE_NAME与ACTION_NAME之间的分割符,只对项目分组部署有效
// Think模板引擎标签库相关设定
TAGLIB_BEGIN => <, // 标签库标签开始标记
TAGLIB_END => >, // 标签库标签结束标记
TAGLIB_LOAD => true, // 是否使用内置标签库之外的其它标签库,默认自动检测
TAGLIB_BUILD_IN => cx, // 内置标签库名称(标签使用不必指定标签库名称),以逗号分隔
TAGLIB_PRE_LOAD => , // 需要额外加载的标签库(须指定标签库名称),多个以逗号分隔
TAG_NESTED_LEVEL => 3, // 标签嵌套级别
TAG_EXTEND_PARSE => , // 指定对普通标签进行扩展定义和解析的函数名称 。
/* 表单令牌验证 */
TOKEN_ON => true, // 开启令牌验证
TOKEN_NAME => __hash__, // 令牌验证的表单隐藏字段名称
TOKEN_TYPE => md5, // 令牌验证哈希规则
/* URL设置 */
URL_CASE_INSENSITIVE => false, // URL地址是否不区分大小写
URL_ROUTER_ON => false, // 是否开启URL路由
URL_DISPATCH_ON => true, // 是否启用Dispatcher
URL_MODEL => 1, // URL访问模式,可选参数0、1、2、3,代表以下四种模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 当URL_DISPATCH_ON开启后有效; 默认为PATHINFO 模式,提供最好的用户体验和SEO支持
URL_PATHINFO_MODEL => 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)
URL_PATHINFO_DEPR => /, // PATHINFO模式下,各参数之间的分割符号
URL_HTML_SUFFIX => , // URL伪静态后缀设置
/* 系统变量名称设置 */
VAR_GROUP => g, // 默认分组获取变量
VAR_MODULE => m, // 默认模块获取变量
VAR_ACTION => a, // 默认操作获取变量
VAR_ROUTER => r, // 默认路由获取变量
VAR_PAGE => p, // 默认分页跳转变量
VAR_TEMPLATE => t, // 默认模板切换变量
VAR_LANGUAGE => l, // 默认语言切换变量
VAR_AJAX_SUBMIT => ajax, // 默认的AJAX提交变量
VAR_PATHINFO => s, // PATHINFO 兼容模式获取变量例如 ?s=/module/action/id/1 后面的参数取决于URL_PATHINFO_MODEL 和 URL_PATHINFO_DEPR
);
此外,还需注意,由于新版系统架构的改变,部分惯例配置的参数已经分离出来纳入了行为扩展的属性参数,读者可查阅手册进一步了解 。 |