您的位置:首页 > 编程语言 > PHP开发

[ThinkPHP] 1、Config.php 配置项分析

2015-01-14 00:00 393 查看
雪影工作室版权所有,转载请注明【http://blog.csdn.net/lina791211】

一、配置格式

  ThinkPHP3.1.2框架中所有配置文件的定义格式均采用返回PHP数组的方式,格式为:

//项目配置文件
return array(
'DEFAULT_MODULE'     => 'Index', //默认模块
'URL_MODEL'          => '2', //URL模式
'SESSION_AUTO_START' => true, //是否开启session
//更多配置参数
//...
);
  配置参数不区分大小写(因为无论大小写定义都会转换成小写),
建议保持大写定义配置参数的规范。

//项目配置文件
return array(
'DEFAULT_MODULE'     => 'Index', //默认模块
'URL_MODEL'          => '2', //URL模式
'SESSION_AUTO_START' => true, //是否开启session
'USER_CONFIG'        => array(
'USER_AUTH' => true,
'USER_TYPE' => 2,
),
//更多配置参数
//...
);


二、配置分类

  ThinkPHP配置分为:惯例配置项目配置调试配置分组配置四类方式。

  可以在任意的PHP文件中使用C方法(可以使用Config的首写字母记忆该方法)读取动态更新配置项

  项目配置文件在部署模式的时候会纳入编译缓存,也就是说编译后再修改项目配置文件就不会立刻生效,需要删除编译缓存后才能生效。

  可以使用扩展配置的方法自动加载不同分类的配置信息

'LOAD_EXT_CONFIG' => 'user,db', // 加载扩展配置文件。多个文件用逗号分隔


项目设置了加载扩展配置文件user.php 和db.php

分别用于用户配置和数据库配置,

那么会自动加载项目配置目录下面的配置文件Conf/user.php和Conf/db.php

三、系统保留

  这种方式可以避免大项目情况中的参数冲突问题。下面的一些配置文件已经被系统使用,请不要作为自定义的扩展配置重新定义:
文件名说明
config.php项目配置文件
tags.php项目行为配置文件
alias.php项目别名定义文件
debug.php项目调试模式配置文件(以及项目设置的APP_STATUS对应的配置文件)
core.php项目追加的核心编译列表文件(不会覆盖核心编译列表)

四、常见参数

惯例配置

配置名 说明 默认值
应用设置
APP_STATUS应用调试模式状态 调试模式开启后有效 默认为debug
可扩展 并自动加载对应的配置文件
debug
APP_FILE_CASE是否检查文件的大小写 对Windows平台有效 false
APP_AUTOLOAD_PATH自动加载机制的自动搜索路径,注意搜索顺序
APP_TAGS_ON系统标签扩展开关 true
APP_SUB_DOMAIN_DEPLOY是否开启子域名部署 false
APP_SUB_DOMAIN_RULES子域名部署规则 array()
APP_SUB_DOMAIN_DENY子域名禁用列表 array()
APP_GROUP_LIST项目分组设定,多个组之间用逗号分隔
ACTION_SUFFIX操作方法后缀
默认值设置
DEFAULT_APP默认项目名称,@表示当前项目 @
DEFAULT_LANG默认语言 zh-cn
DEFAULT_THEME默认模板主题名称
DEFAULT_GROUP默认分组名 Home
DEFAULT_MODULE默认模块名 Index
DEFAULT_ACTION默认操作名 index
DEFAULT_CHARSET默认输出编码 utf-8
DEFAULT_TIMEZONE默认时区 PRC
DEFAULT_AJAX_RETURN默认AJAX 数据返回格式,可选JSON XMLJSON
DEFAULT_FILTER默认参数过滤方法 htmlspecialchars
Cookie设置
COOKIE_EXPIRECoodie有效期(秒) 3600
COOKIE_DOMAINCookie有效域名
COOKIE_PATHCookie路径 /
COOKIE_PREFIXCookie前缀 避免冲突
数据库配置
DB_TYPE数据库类型 mysql
DB_DSN数据库连接信息DSN串
DB_HOST数据库服务器地址 localhost
DB_NAME数据库名称
DB_USER数据库用户名 root
DB_PWD数据库用户密码
DB_PORT数据库端口
DB_FIELDS_CACHE是否开启数据表字段缓存 true
DB_FIELDTYPE_CHECK是否开启字段类型检查 false
DB_CHARSET数据库编码 utf8
DB_DEPLOY_TYPE数据库部署方式 0 集中式 1 分布式 0
DB_RW_SEPARATE数据库是否需要读写分离 分布式部署下有效 false
DB_MASTER_NUM设置读写分离后 主服务器数量 1
DB_SLAVE_NO设置读写分离后 指定从服务器序号(3.1新增)
DB_SQL_BUILD_CACHE数据库查询的SQL创建缓存 false
DB_SQL_BUILD_QUEUESQL缓存队列的缓存方式 file
DB_SQL_BUILD_LENGTHSQL缓存的队列长度 20
DB_SQL_LOG是否开启SQL日志记录(3.1新增)false
数据缓存设置
DATA_CACHE_TIME数据缓存有效期 0表示永久缓存 0
DATA_CACHE_COMPRESS数据缓存是否压缩缓存 false
DATA_CACHE_CHECK数据缓存是否校验缓存 false
DATA_CACHE_TYPE数据缓存类型 File
DATA_CACHE_PATH缓存路径设置 (仅对File方式缓存有效)TEMP_PATH
DATA_CACHE_SUBDIR使用子目录缓存(仅对File方式缓存有效)false
DATA_PATH_LEVEL子目录缓存级别(仅对File方式缓存有效)1
错误设置
ERROR_MESSAGE错误显示信息,部署模式有效
ERROR_PAGE错误定向页面,部署模式有效
SHOW_ERROR_MSG是否显示错误信息 False
日志设置
LOG_RECORD是否记录日志信息 false
LOG_TYPE默认日志记录类型 0 系统 1 邮件 3 文件 4 SAPI3
LOG_DEST日志记录目标
LOG_EXTRA日志记录额外信息
LOG_LEVEL允许记录的日志级别 EMERG,ALERT,CRIT,ERR
LOG_FILE_SIZE日志文件大小限制(字节 文件方式有效) 2097152
LOG_EXCEPTION_RECORD是否记录异常信息日志 false
SESSION设置
SESSION_AUTO_START是否自动开启Sessiontrue
SESSION_OPTIONSsession 配置数组 array()
SESSION_TYPEsession hander类型
SESSION_PREFIXsession 前缀
VAR_SESSION_IDsessionID的提交变量 session_id
模板引擎设置
TMPL_CONTENT_TYPE默认模板输出类型 text/html
TMPL_ACTION_ERROR默认错误跳转对应的模板文件 系统模板目录下的dispatch_jump.tpl
TMPL_ACTION_SUCCESS默认成功跳转对应的模板文件 同上
TMPL_EXCEPTION_FILE异常页面的模板文件 系统模板目录下的think_exception.tpl
TMPL_DETECT_THEME自动侦测模板主题 false
TMPL_TEMPLATE_SUFFIX默认模板文件后缀 .html
TMPL_FILE_DEPR模板文件模块与操作之间的分割符,只对项目分组部署有效 /
URL设置
URL_CASE_INSENSITIVEURL是否不区分大小写 false
URL_MODELURL访问模式支持 0 (普通模式);
1 (PATHINFO 模式);
2 (REWRITE 模式);
3 (兼容模式)
1
URL_PATHINFO_DEPRPATHINFO模式下的参数分割符 /
URL_PATHINFO_FETCH用于兼容判断PATH_INFO 参数的SERVER替代变量列表 ORIG_PATH_INFO
REDIRECT_PATH_INFO
REDIRECT_URL
URL_HTML_SUFFIXURL伪静态后缀设置
URL_404_REDIRECT404跳转页面 部署模式有效(3.1新增)
URL_PARAMS_BINDURL变量绑定到Action方法参数(3.1新增)true
系统变量名称设置
VAR_GROUP默认分组获取变量 g
VAR_MODULE默认模块获取变量 m
VAR_ACTION默认操作获取变量 a
VAR_AJAX_SUBMIT默认的AJAX提交变量 ajax
VAR_TEMPLATE默认模板主题切换变量 t
VAR_PATHINFO兼容模式获取变量 s
VAR_URL_PARAMSPATHINFOURL参数变量 _URL_
VAR_FILTERS全局系统变量的默认过滤方法 多个用逗号分割(3.1新增)
OUTPUT_ENCODE是否开启页面压缩输出(3.1新增) true

行为配置

这里仅仅列出了系统内置的行为扩展的配置参数
配置名 说明 默认值
CheckRoute行为配置
URL_ROUTER_ON是否开启URL路由 false
URL_ROUTE_RULES默认路由规则 array()
ContentReplace行为配置
TMPL_PARSE_STRING模板替换规则 array()
ParseTemplate行为配置
TMPL_ENGINE_TYPE默认模板引擎 Think
TMPL_CACHFILE_SUFFIX默认模板缓存后缀 .php
TMPL_DENY_FUNC_LIST模板引擎禁用函数 echo,exit
TMPL_DENY_PHP是否禁用PHP原生代码 false
TMPL_L_DELIM模板引擎普通标签开始标记 {
TMPL_R_DELIM模板引擎普通标签结束标记 }
TAGLIB_BEGIN标签库标签开始标记 <
TAGLIB_END标签库标签结束标记 >
TAGLIB_LOAD是否使用内置标签库之外的其它标签库,默认自动检测 true
TAGLIB_BUILD_IN内置标签库名称 cx
TAGLIB_PRE_LOAD需要预先加载的标签库
TMPL_VAR_IDENTIFY模板变量识别。留空自动判断 array
TMPL_STRIP_SPACE是否去除模板文件里面的html空格与换行 true
TMPL_CACHE_ON是否开启模板编译缓存 true
TMPL_CACHE_TIME模板缓存有效期 0为永久 0
LAYOUT_ON是否启用布局 false
LAYOUT_NAME当前布局名称 layout
TMPL_LAYOUT_ITEM布局模板的内容替换标识 {__CONTENT__}
ReadHtmlCache行为配置
HTML_CACHE_ON是否开启静态缓存 false
HTML_CACHE_RULES静态缓存规则 array()
HTML_CACHE_TIME静态缓存有效期(秒) 60
HTML_FILE_SUFFIX静态缓存后缀 .html
ShowPageTrace行为配置
SHOW_PAGE_TRACE显示页面Trace信息 false
ShowRuntime行为配置
SHOW_RUN_TIME是否显示运行时间 false
SHOW_ADV_TIME是否显示详细的运行时间 false
SHOW_DB_TIMES是否显示数据库查询和写入次数 false
SHOW_CACHE_TIMES是否显示缓存操作次数 false
SHOW_USE_MEM是否显示内存开销 false
SHOW_LOAD_FILE是否显示加载文件数 false
SHOW_FUN_TIMES是否显示函数调用次数 false
TokenBuild行为配置
TOKEN_ON是否开启令牌验证 true
TOKEN_NAME令牌验证的表单隐藏字段名称 __hash__
TOKEN_TYPE令牌验证哈希规则 md5
TOKEN_RESET令牌错误后是否重置 true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  thinkphp config.php 配置