[ThinkPHP] 1、Config.php 配置项分析
2015-01-14 00:00
393 查看
雪影工作室版权所有,转载请注明【http://blog.csdn.net/lina791211】
建议保持大写定义配置参数的规范。
可以在任意的PHP文件中使用C方法(可以使用Config的首写字母记忆该方法)读取、动态更新配置项。
项目配置文件在部署模式的时候会纳入编译缓存,也就是说编译后再修改项目配置文件就不会立刻生效,需要删除编译缓存后才能生效。
可以使用扩展配置的方法自动加载不同分类的配置信息
一、配置格式
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 XML | JSON |
DEFAULT_FILTER | 默认参数过滤方法 | htmlspecialchars |
Cookie设置 | ||
COOKIE_EXPIRE | Coodie有效期(秒) | 3600 |
COOKIE_DOMAIN | Cookie有效域名 | |
COOKIE_PATH | Cookie路径 | / |
COOKIE_PREFIX | Cookie前缀 避免冲突 | |
数据库配置 | ||
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_QUEUE | SQL缓存队列的缓存方式 | file |
DB_SQL_BUILD_LENGTH | SQL缓存的队列长度 | 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 SAPI | 3 |
LOG_DEST | 日志记录目标 | |
LOG_EXTRA | 日志记录额外信息 | |
LOG_LEVEL | 允许记录的日志级别 | EMERG,ALERT,CRIT,ERR |
LOG_FILE_SIZE | 日志文件大小限制(字节 文件方式有效) | 2097152 |
LOG_EXCEPTION_RECORD | 是否记录异常信息日志 | false |
SESSION设置 | ||
SESSION_AUTO_START | 是否自动开启Session | true |
SESSION_OPTIONS | session 配置数组 | array() |
SESSION_TYPE | session hander类型 | |
SESSION_PREFIX | session 前缀 | |
VAR_SESSION_ID | sessionID的提交变量 | 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_INSENSITIVE | URL是否不区分大小写 | false |
URL_MODEL | URL访问模式支持 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) | 1 |
URL_PATHINFO_DEPR | PATHINFO模式下的参数分割符 | / |
URL_PATHINFO_FETCH | 用于兼容判断PATH_INFO 参数的SERVER替代变量列表 | ORIG_PATH_INFO REDIRECT_PATH_INFO REDIRECT_URL |
URL_HTML_SUFFIX | URL伪静态后缀设置 | |
URL_404_REDIRECT | 404跳转页面 部署模式有效(3.1新增) | |
URL_PARAMS_BIND | URL变量绑定到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_PARAMS | PATHINFOURL参数变量 | _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] 1、Config.php 配置项分析
- thinkphp 配置项config.php
- thinkphp 配置项config.php
- Mantis的config_inc.php的各配置项的作用及其修改
- THINKPHP config.php的配置问题
- 【thinkphp3.x】ThinkPHP/ThinkPHP.php文件分析
- 【thinkphp3.x】ThinkPHP/Lib/Core/View.class.php文件分析
- 【thinkphp3.x】ThinkPHP/Lib/Core/Think.class.php文件分析
- CodeIgniter框架——源码分析之Config.php
- prestashop代码分析之config.inc.php
- dvwa 源码分析(三) --- config.inc.php分析
- ThinkPHP3.1.3源码分析---php文件压缩zlib.output_compression 和 ob_gzhandler
- Thinkphp2.2 config.inc.php常用配置
- thinkphp3.1.3源码分析(2)配置项的读取
- codeigniter源代码分析之配置类Config.php
- CodeIgniter源码分析之Config.php
- 【thinkphp3.x】ThinkPHP/Common/runtime.php文件分析
- 【thinkphp3.x】ThinkPHP.php文件分析
- 【thinkphp3.x】ThinkPHP/Lib/Core/Dispatcher.class.php文件分析
- 【thinkphp3.x】ThinkPHP/Lib/Behavior/ContentReplaceBehavior.class.php文件分析