ThinkPHP的系統(tǒng)內(nèi)置有一個慣例配置文件(位于系統(tǒng)目錄下面的Conf\convention.php),按照大多數(shù)的使用對常用參數(shù)進(jìn)行了默認(rèn)配置。本文對慣例配置文件作出注釋詳解如下,供大家參考:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
<?php /** +------------------------------------------------------------------------------ * ThinkPHP慣例配置文件 * 該文件請不要修改,如果要覆蓋慣例配置的值,可在項目配置文件中設(shè)定和慣例不符的配置項 * 配置名稱大小寫任意,系統(tǒng)會統(tǒng)一轉(zhuǎn)換成小寫 * 所有配置參數(shù)都可以在生效前動態(tài)改變 +------------------------------------------------------------------------------ * @category Think * @package Common * @version $Id$ +------------------------------------------------------------------------------ */ if (!defined( 'THINK_PATH' )) exit (); return array ( /* 項目設(shè)定 */ 'APP_DEBUG' => false, // 是否開啟調(diào)試模式 'APP_DOMAIN_DEPLOY' => false, // 是否使用獨立域名部署項目 'APP_PLUGIN_ON' => false, // 是否開啟插件機制 'APP_FILE_CASE' => false, // 是否檢查文件的大小寫 對Windows平臺有效 'APP_GROUP_DEPR' => '.' , // 模塊分組之間的分割符 'APP_GROUP_LIST' => '' , // 項目分組設(shè)定,多個組之間用逗號分隔,例如'Home,Admin' 'APP_AUTOLOAD_REG' => false, // 是否開啟SPL_AUTOLOAD_REGISTER 'APP_AUTOLOAD_PATH' => 'Think.Util.' , // __autoLoad 機制額外檢測路徑設(shè)置,注意搜索順序 'APP_CONFIG_LIST' => array ( 'taglibs' , 'routes' , 'tags' , 'htmls' , 'modules' , 'actions' ), // 項目額外需要加載的配置列表,默認(rèn)包括:taglibs(標(biāo)簽庫定義),routes(路由定義),tags(標(biāo)簽定義),(htmls)靜態(tài)緩存定義, modules(擴展模塊),actions(擴展操作) /* Cookie設(shè)置 */ 'COOKIE_EXPIRE' => 3600, // Coodie有效期 'COOKIE_DOMAIN' => '' , // Cookie有效域名 'COOKIE_PATH' => '/' , // Cookie路徑 'COOKIE_PREFIX' => '' , // Cookie前綴 避免沖突 /* 默認(rèn)設(shè)定 */ 'DEFAULT_APP' => '@' , // 默認(rèn)項目名稱,@表示當(dāng)前項目 'DEFAULT_GROUP' => 'Home' , // 默認(rèn)分組 'DEFAULT_MODULE' => 'Index' , // 默認(rèn)模塊名稱 'DEFAULT_ACTION' => 'index' , // 默認(rèn)操作名稱 'DEFAULT_CHARSET' => 'utf-8' , // 默認(rèn)輸出編碼 'DEFAULT_TIMEZONE' => 'PRC' , // 默認(rèn)時區(qū) 'DEFAULT_AJAX_RETURN' => 'JSON' , // 默認(rèn)AJAX 數(shù)據(jù)返回格式,可選JSON XML ... 'DEFAULT_THEME' => 'default' , // 默認(rèn)模板主題名稱 'DEFAULT_LANG' => 'zh-cn' , // 默認(rèn)語言 /* 數(shù)據(jù)庫設(shè)置 */ 'DB_TYPE' => 'mysql' , // 數(shù)據(jù)庫類型 'DB_HOST' => 'localhost' , // 服務(wù)器地址 'DB_NAME' => '' , // 數(shù)據(jù)庫名 'DB_USER' => 'root' , // 用戶名 'DB_PWD' => '' , // 密碼 'DB_PORT' => 3306, // 端口 'DB_PREFIX' => 'think_' , // 數(shù)據(jù)庫表前綴 'DB_SUFFIX' => '' , // 數(shù)據(jù)庫表后綴 'DB_FIELDTYPE_CHECK' => false, // 是否進(jìn)行字段類型檢查 'DB_FIELDS_CACHE' => true, // 啟用字段緩存 'DB_CHARSET' => 'utf8' , // 數(shù)據(jù)庫編碼默認(rèn)采用utf8 'DB_DEPLOY_TYPE' => 0, // 數(shù)據(jù)庫部署方式:0 集中式(單一服務(wù)器),1 分布式(主從服務(wù)器) 'DB_RW_SEPARATE' => false, // 數(shù)據(jù)庫讀寫是否分離 主從式有效 /* 數(shù)據(jù)緩存設(shè)置 */ 'DATA_CACHE_TIME' => -1, // 數(shù)據(jù)緩存有效期 'DATA_CACHE_COMPRESS' => false, // 數(shù)據(jù)緩存是否壓縮緩存 'DATA_CACHE_CHECK' => false, // 數(shù)據(jù)緩存是否校驗緩存 'DATA_CACHE_TYPE' => 'File' , // 數(shù)據(jù)緩存類型,支持:File|Db|Apc|Memcache|Shmop|Sqlite| Xcache|Apachenote|Eaccelerator 'DATA_CACHE_PATH' => TEMP_PATH, // 緩存路徑設(shè)置 (僅對File方式緩存有效) 'DATA_CACHE_SUBDIR' => false, // 使用子目錄緩存 (自動根據(jù)緩存標(biāo)識的哈希創(chuàng)建子目錄) 'DATA_PATH_LEVEL' => 1, // 子目錄緩存級別 /* 錯誤設(shè)置 */ 'ERROR_MESSAGE' => '您瀏覽的頁面暫時發(fā)生了錯誤!請稍后再試~' , //錯誤顯示信息,非調(diào)試模式有效 'ERROR_PAGE' => '' , // 錯誤定向頁面 /* 靜態(tài)緩存設(shè)置 */ 'HTML_CACHE_ON' => false, // 默認(rèn)關(guān)閉靜態(tài)緩存 'HTML_CACHE_TIME' => 60, // 靜態(tài)緩存有效期 'HTML_READ_TYPE' => 0, // 靜態(tài)緩存讀取方式 0 readfile 1 redirect 'HTML_FILE_SUFFIX' => '.shtml' , // 默認(rèn)靜態(tài)文件后綴 /* 語言設(shè)置 */ 'LANG_SWITCH_ON' => false, // 默認(rèn)關(guān)閉多語言包功能 'LANG_AUTO_DETECT' => true, // 自動偵測語言 開啟多語言功能后有效 /* 日志設(shè)置 */ 'LOG_RECORD' => false, // 默認(rèn)不記錄日志 'LOG_FILE_SIZE' => 2097152, // 日志文件大小限制 'LOG_RECORD_LEVEL' => array ( 'EMERG' , 'ALERT' , 'CRIT' , 'ERR' ), // 允許記錄的日志級別 /* 分頁設(shè)置 */ 'PAGE_ROLLPAGE' => 5, // 分頁顯示頁數(shù) 'PAGE_LISTROWS' => 20, // 分頁每頁顯示記錄數(shù) /* SESSION設(shè)置 */ 'SESSION_AUTO_START' => true, // 是否自動開啟Session // 內(nèi)置SESSION類可用參數(shù) //'SESSION_NAME' => '', // Session名稱 //'SESSION_PATH' => '', // Session保存路徑 //'SESSION_CALLBACK' => '', // Session 對象反序列化時候的回調(diào)函數(shù) /* 運行時間設(shè)置 */ 'SHOW_RUN_TIME' => false, // 運行時間顯示 'SHOW_ADV_TIME' => false, // 顯示詳細(xì)的運行時間 'SHOW_DB_TIMES' => false, // 顯示數(shù)據(jù)庫查詢和寫入次數(shù) 'SHOW_CACHE_TIMES' => false, // 顯示緩存操作次數(shù) 'SHOW_USE_MEM' => false, // 顯示內(nèi)存開銷 'SHOW_PAGE_TRACE' => false, // 顯示頁面Trace信息 由Trace文件定義和Action操作賦值 'SHOW_ERROR_MSG' => true, // 顯示錯誤信息 /* 模板引擎設(shè)置 */ 'TMPL_ENGINE_TYPE' => 'Think' , // 默認(rèn)模板引擎 以下設(shè)置僅對使用Think模板引擎有效 'TMPL_DETECT_THEME' => false, // 自動偵測模板主題 'TMPL_TEMPLATE_SUFFIX' => '.html' , // 默認(rèn)模板文件后綴 'TMPL_CACHFILE_SUFFIX' => '.php' , // 默認(rèn)模板緩存后綴 'TMPL_DENY_FUNC_LIST' => 'echo,exit' , // 模板引擎禁用函數(shù) 'TMPL_PARSE_STRING' => '' , // 模板引擎要自動替換的字符串,必須是數(shù)組形式。 'TMPL_L_DELIM' => '{' , // 模板引擎普通標(biāo)簽開始標(biāo)記 'TMPL_R_DELIM' => '}' , // 模板引擎普通標(biāo)簽結(jié)束標(biāo)記 'TMPL_VAR_IDENTIFY' => 'array' , // 模板變量識別。留空自動判斷,參數(shù)為'obj'則表示對象 'TMPL_STRIP_SPACE' => false, // 是否去除模板文件里面的html空格與換行 'TMPL_CACHE_ON' => true, // 是否開啟模板編譯緩存,設(shè)為false則每次都會重新編譯 'TMPL_CACHE_TIME' => -1, // 模板緩存有效期 -1 為永久,(以數(shù)字為值,單位:秒) 'TMPL_ACTION_ERROR' => 'Public:success' , // 默認(rèn)錯誤跳轉(zhuǎn)對應(yīng)的模板文件 'TMPL_ACTION_SUCCESS' => 'Public:success' , // 默認(rèn)成功跳轉(zhuǎn)對應(yīng)的模板文件 '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模板引擎標(biāo)簽庫相關(guān)設(shè)定 'TAGLIB_BEGIN' => '<' , // 標(biāo)簽庫標(biāo)簽開始標(biāo)記 'TAGLIB_END' => '>' , // 標(biāo)簽庫標(biāo)簽結(jié)束標(biāo)記 'TAGLIB_LOAD' => true, // 是否使用內(nèi)置標(biāo)簽庫之外的其它標(biāo)簽庫,默認(rèn)自動檢測 'TAGLIB_BUILD_IN' => 'cx' , // 內(nèi)置標(biāo)簽庫名稱(標(biāo)簽使用不必指定標(biāo)簽庫名稱),以逗號分隔 'TAGLIB_PRE_LOAD' => '' , // 需要額外加載的標(biāo)簽庫(須指定標(biāo)簽庫名稱),多個以逗號分隔 'TAG_NESTED_LEVEL' => 3, // 標(biāo)簽嵌套級別 'TAG_EXTEND_PARSE' => '' , // 指定對普通標(biāo)簽進(jìn)行擴展定義和解析的函數(shù)名稱。 /* 表單令牌驗證 */ 'TOKEN_ON' => true, // 開啟令牌驗證 'TOKEN_NAME' => '__hash__' , // 令牌驗證的表單隱藏字段名稱 'TOKEN_TYPE' => 'md5' , // 令牌驗證哈希規(guī)則 /* URL設(shè)置 */ 'URL_CASE_INSENSITIVE' => false, // URL地址是否不區(qū)分大小寫 'URL_ROUTER_ON' => false, // 是否開啟URL路由 'URL_DISPATCH_ON' => true, // 是否啟用Dispatcher 'URL_MODEL' => 1, // URL訪問模式,可選參數(shù)0、1、2、3,代表以下四種模式: // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 當(dāng)URL_DISPATCH_ON開啟后有效; 默認(rèn)為PATHINFO 模式,提供最好的用戶體驗和SEO支持 'URL_PATHINFO_MODEL' => 2, // PATHINFO 模式,使用數(shù)字1、2、3代表以下三種模式: // 1 普通模式(參數(shù)沒有順序,例如/m/module/a/action/id/1); // 2 智能模式(系統(tǒng)默認(rèn)使用的模式,可自動識別模塊和操作/module/action/id/1/ 或者 /module,action,id,1/...); // 3 兼容模式(通過一個GET變量將PATHINFO傳遞給dispather,默認(rèn)為s index.php?s=/module/action/id/1) 'URL_PATHINFO_DEPR' => '/' , // PATHINFO模式下,各參數(shù)之間的分割符號 'URL_HTML_SUFFIX' => '' , // URL偽靜態(tài)后綴設(shè)置 /* 系統(tǒng)變量名稱設(shè)置 */ 'VAR_GROUP' => 'g' , // 默認(rèn)分組獲取變量 'VAR_MODULE' => 'm' , // 默認(rèn)模塊獲取變量 'VAR_ACTION' => 'a' , // 默認(rèn)操作獲取變量 'VAR_ROUTER' => 'r' , // 默認(rèn)路由獲取變量 'VAR_PAGE' => 'p' , // 默認(rèn)分頁跳轉(zhuǎn)變量 'VAR_TEMPLATE' => 't' , // 默認(rèn)模板切換變量 'VAR_LANGUAGE' => 'l' , // 默認(rèn)語言切換變量 'VAR_AJAX_SUBMIT' => 'ajax' , // 默認(rèn)的AJAX提交變量 'VAR_PATHINFO' => 's' , // PATHINFO 兼容模式獲取變量例如 ?s=/module/action/id/1 后面的參數(shù)取決于URL_PATHINFO_MODEL 和 URL_PATHINFO_DEPR ); |
此外,還需注意,由于新版系統(tǒng)架構(gòu)的改變,部分慣例配置的參數(shù)已經(jīng)分離出來納入了行為擴展的屬性參數(shù),讀者可查閱手冊進(jìn)一步了解。