ThinkPHP慣例配置文件實例詳解

分享下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. 'APP_DEBUG' => false, // 是否開啓調試模式

  18. 'APP_DOMAIN_DEPLOY' => false, // 是否使用獨立域名部署項目

  19. 'APP_PLUGIN_ON' => false, // 是否開啓插件機制

  20. 'APP_FILE_CASE' => false, // 是否檢查文件的大小寫 對Windows平臺有效

  21. 'APP_GROUP_DEPR' => '.', // 模塊分組之間的分割符

  22. 'APP_GROUP_LIST' => '', // 項目分組設定,多個組之間用逗號分隔,例如'Home,Admin'

  23. 'APP_AUTOLOAD_REG' => false, // 是否開啓SPL_AUTOLOAD_REGISTER

  24. 'APP_AUTOLOAD_PATH' => 'Think.Util.',// __autoLoad 機制額外檢測路徑設置,注意搜索順序

  25. 'APP_CONFIG_LIST' => array('taglibs','routes','tags','htmls','modules','actions'),// 項目額外需要加載的配置列表,默認包括:taglibs(標籤庫定義),routes(路由定義),tags(標籤定義),(htmls)靜態緩存定義, modules(擴展模塊),actions(擴展操作)



  26. /* Cookie設置 */

  27. 'COOKIE_EXPIRE' => 3600, // Coodie有效期

  28. 'COOKIE_DOMAIN' => '', // Cookie有效域名

  29. 'COOKIE_PATH' => '/', // Cookie路徑

  30. 'COOKIE_PREFIX' => '', // Cookie前綴 避免衝突



  31. /* 默認設定 */

  32. 'DEFAULT_APP' => '@', // 默認項目名稱,@表示當前項目

  33. 'DEFAULT_GROUP' => 'Home', // 默認分組

  34. 'DEFAULT_MODULE' => 'Index', // 默認模塊名稱

  35. 'DEFAULT_ACTION' => 'index', // 默認操作名稱

  36. 'DEFAULT_CHARSET' => 'utf-8', // 默認輸出編碼

  37. 'DEFAULT_TIMEZONE' => 'PRC', // 默認時區

  38. 'DEFAULT_AJAX_RETURN' => 'JSON', // 默認AJAX 數據返回格式,可選JSON XML ...

  39. 'DEFAULT_THEME' => 'default', // 默認模板主題名稱

  40. 'DEFAULT_LANG' => 'zh-cn', // 默認語言


  41. /* 數據庫設置 */

  42. 'DB_TYPE' => 'mysql', // 數據庫類型

  43. 'DB_HOST' => 'localhost', // 服務器地址

  44. 'DB_NAME' => '', // 數據庫名

  45. 'DB_USER' => 'root', // 用戶名

  46. 'DB_PWD' => '', // 密碼

  47. 'DB_PORT' => 3306, // 端口

  48. 'DB_PREFIX' => 'think_', // 數據庫表前綴

  49. 'DB_SUFFIX' => '', // 數據庫表後綴

  50. 'DB_FIELDTYPE_CHECK' => false, // 是否進行字段類型檢查

  51. 'DB_FIELDS_CACHE' => true, // 啓用字段緩存

  52. 'DB_CHARSET' => 'utf8', // 數據庫編碼默認採用utf8

  53. 'DB_DEPLOY_TYPE' => 0, // 數據庫部署方式:0 集中式(單一服務器),1 分佈式(主從服務器)

  54. 'DB_RW_SEPARATE' => false, // 數據庫讀寫是否分離 主從式有效


  55. /* 數據緩存設置 */

  56. 'DATA_CACHE_TIME' => -1, // 數據緩存有效期

  57. 'DATA_CACHE_COMPRESS' => false, // 數據緩存是否壓縮緩存

  58. 'DATA_CACHE_CHECK' => false, // 數據緩存是否校驗緩存

  59. 'DATA_CACHE_TYPE' => 'File', // 數據緩存類型,支持:File|Db|Apc|Memcache|Shmop|Sqlite| Xcache|Apachenote|Eaccelerator

  60. 'DATA_CACHE_PATH' => TEMP_PATH,// 緩存路徑設置 (僅對File方式緩存有效)

  61. 'DATA_CACHE_SUBDIR' => false, // 使用子目錄緩存 (自動根據緩存標識的哈希創建子目錄)

  62. 'DATA_PATH_LEVEL' => 1, // 子目錄緩存級別



  63. /* 錯誤設置 */

  64. 'ERROR_MESSAGE' => '您瀏覽的頁面暫時發生了錯誤!請稍後再試~',//錯誤顯示信息,非調試模式有效

  65. 'ERROR_PAGE' => '', // 錯誤定向頁面


  66. /* 靜態緩存設置 */

  67. 'HTML_CACHE_ON' => false, // 默認關閉靜態緩存

  68. 'HTML_CACHE_TIME' => 60, // 靜態緩存有效期

  69. 'HTML_READ_TYPE' => 0, // 靜態緩存讀取方式 0 readfile 1 redirect

  70. 'HTML_FILE_SUFFIX' => '.shtml',// 默認靜態文件後綴


  71. /* 語言設置 */

  72. 'LANG_SWITCH_ON' => false, // 默認關閉多語言包功能

  73. 'LANG_AUTO_DETECT' => true, // 自動偵測語言 開啓多語言功能後有效


  74. /* 日誌設置 */

  75. 'LOG_RECORD' => false, // 默認不記錄日誌

  76. 'LOG_FILE_SIZE' => 2097152, // 日誌文件大小限制

  77. 'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR'),// 允許記錄的日誌級別


  78. /* 分頁設置 */

  79. 'PAGE_ROLLPAGE' => 5, // 分頁顯示頁數

  80. 'PAGE_LISTROWS' => 20, // 分頁每頁顯示記錄數


  81. /* SESSION設置 */

  82. 'SESSION_AUTO_START' => true, // 是否自動開啓Session

  83. // 內置SESSION類可用參數

  84. //'SESSION_NAME' => '', // Session名稱

  85. //'SESSION_PATH' => '', // Session保存路徑

  86. //'SESSION_CALLBACK' => '', // Session 對象反序列化時候的回調函數


  87. /* 運行時間設置 */

  88. 'SHOW_RUN_TIME' => false, // 運行時間顯示

  89. 'SHOW_ADV_TIME' => false, // 顯示詳細的運行時間

  90. 'SHOW_DB_TIMES' => false, // 顯示數據庫查詢和寫入次數

  91. 'SHOW_CACHE_TIMES' => false, // 顯示緩存操作次數

  92. 'SHOW_USE_MEM' => false, // 顯示內存開銷

  93. 'SHOW_PAGE_TRACE' => false, // 顯示頁面Trace信息 由Trace文件定義和Action操作賦值

  94. 'SHOW_ERROR_MSG' => true, // 顯示錯誤信息


  95. /* 模板引擎設置 */

  96. 'TMPL_ENGINE_TYPE' => 'Think', // 默認模板引擎 以下設置僅對使用Think模板引擎有效

  97. 'TMPL_DETECT_THEME' => false, // 自動偵測模板主題

  98. 'TMPL_TEMPLATE_SUFFIX' => '.html', // 默認模板文件後綴

  99. 'TMPL_CACHFILE_SUFFIX' => '.php', // 默認模板緩存後綴

  100. 'TMPL_DENY_FUNC_LIST' => 'echo,exit', // 模板引擎禁用函數

  101. 'TMPL_PARSE_STRING' => '', // 模板引擎要自動替換的字符串,必須是數組形式。

  102. 'TMPL_L_DELIM' => '{', // 模板引擎普通標籤開始標記

  103. 'TMPL_R_DELIM' => '}', // 模板引擎普通標籤結束標記

  104. 'TMPL_VAR_IDENTIFY' => 'array', // 模板變量識別。留空自動判斷,參數爲'obj'則表示對象

  105. 'TMPL_STRIP_SPACE' => false, // 是否去除模板文件裏面的html空格與換行

  106. 'TMPL_CACHE_ON' => true, // 是否開啓模板編譯緩存,設爲false則每次都會重新編譯

  107. 'TMPL_CACHE_TIME' => -1, // 模板緩存有效期 -1 爲永久,(以數字爲值,單位:秒)

  108. 'TMPL_ACTION_ERROR' => 'Public:success', // 默認錯誤跳轉對應的模板文件

  109. 'TMPL_ACTION_SUCCESS' => 'Public:success', // 默認成功跳轉對應的模板文件

  110. 'TMPL_TRACE_FILE' => THINK_PATH.'/Tpl/PageTrace.tpl.php', // 頁面Trace的模板文件

  111. 'TMPL_EXCEPTION_FILE' => THINK_PATH.'/Tpl/ThinkException.tpl.php',// 異常頁面的模板文件

  112. 'TMPL_FILE_DEPR'=>'/', //模板文件MODULE_NAME與ACTION_NAME之間的分割符,只對項目分組部署有效

  113. // Think模板引擎標籤庫相關設定

  114. 'TAGLIB_BEGIN' => '<', // 標籤庫標籤開始標記

  115. 'TAGLIB_END' => '>', // 標籤庫標籤結束標記

  116. 'TAGLIB_LOAD' => true, // 是否使用內置標籤庫之外的其它標籤庫,默認自動檢測

  117. 'TAGLIB_BUILD_IN' => 'cx', // 內置標籤庫名稱(標籤使用不必指定標籤庫名稱),以逗號分隔

  118. 'TAGLIB_PRE_LOAD' => '', // 需要額外加載的標籤庫(須指定標籤庫名稱),多個以逗號分隔

  119. 'TAG_NESTED_LEVEL' => 3, // 標籤嵌套級別

  120. 'TAG_EXTEND_PARSE' => '', // 指定對普通標籤進行擴展定義和解析的函數名稱。


  121. /* 表單令牌驗證 */ (腳本學堂 www.jbxue.com 編輯整理)

  122. 'TOKEN_ON' => true, // 開啓令牌驗證

  123. 'TOKEN_NAME' => '__hash__', // 令牌驗證的表單隱藏字段名稱

  124. 'TOKEN_TYPE' => 'md5', // 令牌驗證哈希規則


  125. /* URL設置 */

  126. 'URL_CASE_INSENSITIVE' => false, // URL地址是否不區分大小寫

  127. 'URL_ROUTER_ON' => false, // 是否開啓URL路由

  128. 'URL_DISPATCH_ON' => true, // 是否啓用Dispatcher

  129. 'URL_MODEL' => 1, // URL訪問模式,可選參數0、1、2、3,代表以下四種模式:

  130. // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 當URL_DISPATCH_ON開啓後有效; 默認爲PATHINFO 模式,提供最好的用戶體驗和SEO支持

  131. 'URL_PATHINFO_MODEL' => 2, // PATHINFO 模式,使用數字1、2、3代表以下三種模式:

  132. // 1 普通模式(參數沒有順序,例如/m/module/a/action/id/1);

  133. // 2 智能模式(系統默認使用的模式,可自動識別模塊和操作/module/action/id/1/ 或者 /module,action,id,1/...);

  134. // 3 兼容模式(通過一個GET變量將PATHINFO傳遞給dispather,默認爲s index.php?s=/module/action/id/1)

  135. 'URL_PATHINFO_DEPR' => '/', // PATHINFO模式下,各參數之間的分割符號

  136. 'URL_HTML_SUFFIX' => '', // URL僞靜態後綴設置


  137. /* 系統變量名稱設置 */

  138. 'VAR_GROUP' => 'g', // 默認分組獲取變量

  139. 'VAR_MODULE' => 'm', // 默認模塊獲取變量

  140. 'VAR_ACTION' => 'a', // 默認操作獲取變量

  141. 'VAR_ROUTER' => 'r', // 默認路由獲取變量

  142. 'VAR_PAGE' => 'p', // 默認分頁跳轉變量

  143. 'VAR_TEMPLATE' => 't', // 默認模板切換變量

  144. 'VAR_LANGUAGE' => 'l', // 默認語言切換變量

  145. 'VAR_AJAX_SUBMIT' => 'ajax', // 默認的AJAX提交變量

  146. 'VAR_PATHINFO' => 's', // PATHINFO 兼容模式獲取變量例如 ?s=/module/action/id/1 後面的參數取決於URL_PATHINFO_MODEL 和 URL_PATHINFO_DEPR


  147. );


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章