ThinkPHP的系统内置有一个惯例配置文件(位于系统目录下面的Conf\convention.PHP),按照大多数的使用对常用参数进行了默认配置。本文对惯例配置文件作出注释详解如下,供大家参考:
'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,// 端口
'DBPREFIX' => '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
);
此外,还需注意,由于新版系统架构的改变,部分惯例配置的参数已经分离出来纳入了行为扩展的属性参数,读者可查阅手册进一步了解。