ThinkPHP惯例配置文件详解
程序员文章站
2023-12-28 17:19:10
thinkphp的系统内置有一个惯例配置文件(位于系统目录下面的conf\convention.php),按照大多数的使用对常用参数进行了默认配置。本文对惯例配置文件作出注...
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 );
此外,还需注意,由于新版系统架构的改变,部分惯例配置的参数已经分离出来纳入了行为扩展的属性参数,读者可查阅手册进一步了解。