当前位置:首页 > CMS教程 > Thinkphp > 列表

ThinkPHP惯例配置文件详解

发布:smiling 来源: PHP粉丝网  添加日期:2021-03-20 16:22:17 浏览: 评论:0 

这篇文章主要介绍了ThinkPHP惯例配置文件,对于进一步了解ThinkPHP各个属性配置有很大帮助,需要的朋友可以参考下

ThinkPHP的系统内置有一个惯例配置文件(位于系统目录下面的Conf\convention.php),按照大多数的使用对常用参数进行了默认配置。本文对惯例配置文件作出注释详解如下,供大家参考:

  1. <?php 
  2. /** 
  3. +------------------------------------------------------------------------------ 
  4. * ThinkPHP惯例配置文件 
  5. * 该文件请不要修改,如果要覆盖惯例配置的值,可在项目配置文件中设定和惯例不符的配置项 
  6. * 配置名称大小写任意,系统会统一转换成小写 
  7. * 所有配置参数都可以在生效前动态改变 
  8. +------------------------------------------------------------------------------ 
  9. * @category Think 
  10. * @package Common 
  11. * @version $Id$ 
  12. +------------------------------------------------------------------------------ 
  13. */ 
  14. if (!defined('THINK_PATH')) exit(); 
  15. return array
  16.  
  17. /* 项目设定 */ 
  18. 'APP_DEBUG'   => false, // 是否开启调试模式 
  19. 'APP_DOMAIN_DEPLOY'   => false,  // 是否使用独立域名部署项目 
  20. 'APP_PLUGIN_ON'     => false,  // 是否开启插件机制 
  21. 'APP_FILE_CASE'     => false,  // 是否检查文件的大小写 对Windows平台有效 
  22. 'APP_GROUP_DEPR'    => '.',   // 模块分组之间的分割符 
  23. 'APP_GROUP_LIST'    => '',   // 项目分组设定,多个组之间用逗号分隔,例如'Home,Admin' 
  24. 'APP_AUTOLOAD_REG'   => false,  // 是否开启SPL_AUTOLOAD_REGISTER 
  25. 'APP_AUTOLOAD_PATH'   => 'Think.Util.',// __autoLoad 机制额外检测路径设置,注意搜索顺序 
  26. 'APP_CONFIG_LIST'    => array('taglibs','routes','tags','htmls','modules','actions'),// 项目额外需要加载的配置列表,默认包括:taglibs(标签库定义),routes(路由定义),tags(标签定义),(htmls)静态缓存定义, modules(扩展模块),actions(扩展操作) 
  27.  
  28. /* Cookie设置 */ 
  29. 'COOKIE_EXPIRE'     => 3600,  // Coodie有效期 
  30. 'COOKIE_DOMAIN'     => '',   // Cookie有效域名 
  31. 'COOKIE_PATH'      => '/',   // Cookie路径 
  32. 'COOKIE_PREFIX'     => '',   // Cookie前缀 避免冲突 
  33.  
  34. /* 默认设定 */ 
  35. 'DEFAULT_APP'      => '@',   // 默认项目名称,@表示当前项目 
  36. 'DEFAULT_GROUP'     => 'Home'// 默认分组 
  37. 'DEFAULT_MODULE'    => 'Index'// 默认模块名称 
  38. 'DEFAULT_ACTION'    => 'index'// 默认操作名称 
  39. 'DEFAULT_CHARSET'    => 'utf-8'// 默认输出编码 
  40. 'DEFAULT_TIMEZONE'   => 'PRC'// 默认时区 
  41. 'DEFAULT_AJAX_RETURN'  => 'JSON'// 默认AJAX 数据返回格式,可选JSON XML ... 
  42. 'DEFAULT_THEME'  => 'default'// 默认模板主题名称 
  43. 'DEFAULT_LANG'     => 'zh-cn'// 默认语言 
  44.  
  45. /* 数据库设置 */ 
  46. 'DB_TYPE'        => 'mysql',   // 数据库类型 
  47. 'DB_HOST'        => 'localhost'// 服务器地址 
  48. 'DB_NAME'        => '',     // 数据库名 
  49. 'DB_USER'        => 'root',   // 用户名 
  50. 'DB_PWD'        => '',     // 密码 
  51. 'DB_PORT'        => 3306,    // 端口 
  52. 'DB_PREFIX'       => 'think_',  // 数据库表前缀 
  53. 'DB_SUFFIX'       => '',     // 数据库表后缀 
  54. 'DB_FIELDTYPE_CHECK'  => false,    // 是否进行字段类型检查 
  55. 'DB_FIELDS_CACHE'    => true,    // 启用字段缓存 
  56. 'DB_CHARSET'      => 'utf8',   // 数据库编码默认采用utf8 
  57. 'DB_DEPLOY_TYPE'    => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 
  58. 'DB_RW_SEPARATE'    => false,    // 数据库读写是否分离 主从式有效 
  59.  
  60. /* 数据缓存设置 */ 
  61. 'DATA_CACHE_TIME'  => -1,   // 数据缓存有效期 
  62. 'DATA_CACHE_COMPRESS'  => false,  // 数据缓存是否压缩缓存 
  63. 'DATA_CACHE_CHECK'  => false,  // 数据缓存是否校验缓存 
  64. 'DATA_CACHE_TYPE'  => 'File'// 数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqlite| Xcache|Apachenote|Eaccelerator 
  65. 'DATA_CACHE_PATH'    => TEMP_PATH,// 缓存路径设置 (仅对File方式缓存有效) 
  66. 'DATA_CACHE_SUBDIR'  => false,  // 使用子目录缓存 (自动根据缓存标识的哈希创建子目录) 
  67. 'DATA_PATH_LEVEL'    => 1,    // 子目录缓存级别 
  68.  
  69. /* 错误设置 */ 
  70. 'ERROR_MESSAGE' => '您浏览的页面暂时发生了错误!请稍后再试~',//错误显示信息,非调试模式有效 
  71. 'ERROR_PAGE'  => ''// 错误定向页面 
  72.  
  73. /* 静态缓存设置 */ 
  74. 'HTML_CACHE_ON'  => false,  // 默认关闭静态缓存 
  75. 'HTML_CACHE_TIME'  => 60,   // 静态缓存有效期 
  76. 'HTML_READ_TYPE'    => 0,    // 静态缓存读取方式 0 readfile 1 redirect 
  77. 'HTML_FILE_SUFFIX'   => '.shtml',// 默认静态文件后缀 
  78.  
  79. /* 语言设置 */ 
  80. 'LANG_SWITCH_ON'    => false,  // 默认关闭多语言包功能 
  81. 'LANG_AUTO_DETECT'   => true,  // 自动侦测语言 开启多语言功能后有效 
  82.  
  83. /* 日志设置 */ 
  84. 'LOG_RECORD'      => false,  // 默认不记录日志 
  85. 'LOG_FILE_SIZE'     => 2097152, // 日志文件大小限制 
  86. 'LOG_RECORD_LEVEL'   => array('EMERG','ALERT','CRIT','ERR'),// 允许记录的日志级别 
  87.  
  88. /* 分页设置 */ 
  89. 'PAGE_ROLLPAGE'     => 5,   // 分页显示页数 
  90. 'PAGE_LISTROWS'     => 20,   // 分页每页显示记录数 
  91.  
  92. /* SESSION设置 */ 
  93. 'SESSION_AUTO_START'  => true,  // 是否自动开启Session 
  94. // 内置SESSION类可用参数 
  95. //'SESSION_NAME'     => '',   // Session名称 
  96. //'SESSION_PATH'     => '',   // Session保存路径 
  97. //'SESSION_CALLBACK'   => '',   // Session 对象反序列化时候的回调函数 
  98.  
  99. /* 运行时间设置 */ 
  100. 'SHOW_RUN_TIME'  => false,  // 运行时间显示 
  101. 'SHOW_ADV_TIME'  => false,  // 显示详细的运行时间 
  102. 'SHOW_DB_TIMES'  => false,  // 显示数据库查询和写入次数 
  103. 'SHOW_CACHE_TIMES'  => false,  // 显示缓存操作次数 
  104. 'SHOW_USE_MEM'  => false,  // 显示内存开销 
  105. 'SHOW_PAGE_TRACE'  => false,  // 显示页面Trace信息 由Trace文件定义和Action操作赋值 
  106. 'SHOW_ERROR_MSG'    => true,  // 显示错误信息 
  107.  
  108. /* 模板引擎设置 */ 
  109. 'TMPL_ENGINE_TYPE'  => 'Think',   // 默认模板引擎 以下设置仅对使用Think模板引擎有效 
  110. 'TMPL_DETECT_THEME'   => false,    // 自动侦测模板主题 
  111. 'TMPL_TEMPLATE_SUFFIX' => '.html',   // 默认模板文件后缀 
  112. 'TMPL_CACHFILE_SUFFIX' => '.php',   // 默认模板缓存后缀 
  113. 'TMPL_DENY_FUNC_LIST' => 'echo,exit'// 模板引擎禁用函数 
  114. 'TMPL_PARSE_STRING'   => '',     // 模板引擎要自动替换的字符串,必须是数组形式。 
  115. 'TMPL_L_DELIM'     => '{',  // 模板引擎普通标签开始标记 
  116. 'TMPL_R_DELIM'     => '}',  // 模板引擎普通标签结束标记 
  117. 'TMPL_VAR_IDENTIFY'   => 'array',   // 模板变量识别。留空自动判断,参数为'obj'则表示对象 
  118. 'TMPL_STRIP_SPACE'   => false,    // 是否去除模板文件里面的html空格与换行 
  119. 'TMPL_CACHE_ON'  => true,    // 是否开启模板编译缓存,设为false则每次都会重新编译 
  120. 'TMPL_CACHE_TIME'  => -1,     // 模板缓存有效期 -1 为永久,(以数字为值,单位:秒) 
  121. 'TMPL_ACTION_ERROR'   => 'Public:success'// 默认错误跳转对应的模板文件 
  122. 'TMPL_ACTION_SUCCESS'  => 'Public:success'// 默认成功跳转对应的模板文件 
  123. 'TMPL_TRACE_FILE'    => THINK_PATH.'/Tpl/PageTrace.tpl.php',   // 页面Trace的模板文件 
  124. 'TMPL_EXCEPTION_FILE'  => THINK_PATH.'/Tpl/ThinkException.tpl.php',// 异常页面的模板文件 
  125. 'TMPL_FILE_DEPR'=>'/'//模板文件MODULE_NAME与ACTION_NAME之间的分割符,只对项目分组部署有效 
  126. // Think模板引擎标签库相关设定 
  127. 'TAGLIB_BEGIN'     => '<'// 标签库标签开始标记 
  128. 'TAGLIB_END'      => '>'// 标签库标签结束标记 
  129. 'TAGLIB_LOAD'      => true, // 是否使用内置标签库之外的其它标签库,默认自动检测 
  130. 'TAGLIB_BUILD_IN'    => 'cx'// 内置标签库名称(标签使用不必指定标签库名称),以逗号分隔 
  131. 'TAGLIB_PRE_LOAD'    => '',  // 需要额外加载的标签库(须指定标签库名称),多个以逗号分隔 
  132. 'TAG_NESTED_LEVEL'  => 3,  // 标签嵌套级别 
  133. 'TAG_EXTEND_PARSE'   => '',  // 指定对普通标签进行扩展定义和解析的函数名称。 
  134.  
  135. /* 表单令牌验证 */ 
  136. 'TOKEN_ON'          =>  true,   // 开启令牌验证 
  137. 'TOKEN_NAME'        =>  '__hash__',  // 令牌验证的表单隐藏字段名称 
  138. 'TOKEN_TYPE'         =>  'md5',  // 令牌验证哈希规则 
  139.  
  140. /* URL设置 */ 
  141. 'URL_CASE_INSENSITIVE' => false,  // URL地址是否不区分大小写 
  142. 'URL_ROUTER_ON'     => false,  // 是否开启URL路由 
  143. 'URL_DISPATCH_ON'    => true, // 是否启用Dispatcher 
  144. 'URL_MODEL'   => 1,    // URL访问模式,可选参数0、1、2、3,代表以下四种模式: 
  145. // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 当URL_DISPATCH_ON开启后有效; 默认为PATHINFO 模式,提供最好的用户体验和SEO支持 
  146. 'URL_PATHINFO_MODEL'  => 2,    // PATHINFO 模式,使用数字1、2、3代表以下三种模式: 
  147. // 1 普通模式(参数没有顺序,例如/m/module/a/action/id/1); 
  148. // 2 智能模式(系统默认使用的模式,可自动识别模块和操作/module/action/id/1/ 或者 /module,action,id,1/...); 
  149. // 3 兼容模式(通过一个GET变量将PATHINFO传递给dispather,默认为s index.php?s=/module/action/id/1) 
  150. 'URL_PATHINFO_DEPR'   => '/'// PATHINFO模式下,各参数之间的分割符号 
  151. 'URL_HTML_SUFFIX'    => ''// URL伪静态后缀设置 
  152.  
  153. /* 系统变量名称设置 */ 
  154. 'VAR_GROUP'       => 'g',   // 默认分组获取变量 
  155. 'VAR_MODULE'      => 'm',  // 默认模块获取变量 
  156. 'VAR_ACTION'      => 'a',  // 默认操作获取变量 
  157. 'VAR_ROUTER'      => 'r',   // 默认路由获取变量 
  158. 'VAR_PAGE'       => 'p',  // 默认分页跳转变量 
  159. 'VAR_TEMPLATE'     => 't',  // 默认模板切换变量 
  160. 'VAR_LANGUAGE'     => 'l',  // 默认语言切换变量 
  161. 'VAR_AJAX_SUBMIT'    => 'ajax'// 默认的AJAX提交变量 
  162. 'VAR_PATHINFO'     => 's'// PATHINFO 兼容模式获取变量例如 ?s=/module/action/id/1 后面的参数取决于URL_PATHINFO_MODEL 和 URL_PATHINFO_DEPR 
  163.  
  164. ); 

此外,还需注意,由于新版系统架构的改变,部分惯例配置的参数已经分离出来纳入了行为扩展的属性参数,读者可查阅手册进一步了解。

Tags: ThinkPHP惯例配置

分享到: