ThinkPHP的系統(tǒng)內(nèi)置有一個(gè)慣例配置文件(位于系統(tǒng)目錄下面的Conf\convention.php),按照大多數(shù)的使用對(duì)常用參數(shù)進(jìn)行了默認(rèn)配置。本文對(duì)慣例配置文件作出注釋詳解如下,供大家參考:
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慣例配置文件 * 該文件請(qǐng)不要修改,如果要覆蓋慣例配置的值,可在項(xiàng)目配置文件中設(shè)定和慣例不符的配置項(xiàng) * 配置名稱(chēng)大小寫(xiě)任意,系統(tǒng)會(huì)統(tǒng)一轉(zhuǎn)換成小寫(xiě) * 所有配置參數(shù)都可以在生效前動(dòng)態(tài)改變 +------------------------------------------------------------------------------ * @category Think * @package Common * @version $Id$ +------------------------------------------------------------------------------ */ if (!defined( 'THINK_PATH' )) exit (); return array ( /* 項(xiàng)目設(shè)定 */ 'APP_DEBUG' => false, // 是否開(kāi)啟調(diào)試模式 'APP_DOMAIN_DEPLOY' => false, // 是否使用獨(dú)立域名部署項(xiàng)目 'APP_PLUGIN_ON' => false, // 是否開(kāi)啟插件機(jī)制 'APP_FILE_CASE' => false, // 是否檢查文件的大小寫(xiě) 對(duì)Windows平臺(tái)有效 'APP_GROUP_DEPR' => '.' , // 模塊分組之間的分割符 'APP_GROUP_LIST' => '' , // 項(xiàng)目分組設(shè)定,多個(gè)組之間用逗號(hào)分隔,例如'Home,Admin' 'APP_AUTOLOAD_REG' => false, // 是否開(kāi)啟SPL_AUTOLOAD_REGISTER 'APP_AUTOLOAD_PATH' => 'Think.Util.' , // __autoLoad 機(jī)制額外檢測(cè)路徑設(shè)置,注意搜索順序 'APP_CONFIG_LIST' => array ( 'taglibs' , 'routes' , 'tags' , 'htmls' , 'modules' , 'actions' ), // 項(xiàng)目額外需要加載的配置列表,默認(rèn)包括:taglibs(標(biāo)簽庫(kù)定義),routes(路由定義),tags(標(biāo)簽定義),(htmls)靜態(tài)緩存定義, modules(擴(kuò)展模塊),actions(擴(kuò)展操作) /* Cookie設(shè)置 */ 'COOKIE_EXPIRE' => 3600, // Coodie有效期 'COOKIE_DOMAIN' => '' , // Cookie有效域名 'COOKIE_PATH' => '/' , // Cookie路徑 'COOKIE_PREFIX' => '' , // Cookie前綴 避免沖突 /* 默認(rèn)設(shè)定 */ 'DEFAULT_APP' => '@' , // 默認(rèn)項(xiàng)目名稱(chēng),@表示當(dāng)前項(xiàng)目 'DEFAULT_GROUP' => 'Home' , // 默認(rèn)分組 'DEFAULT_MODULE' => 'Index' , // 默認(rèn)模塊名稱(chēng) 'DEFAULT_ACTION' => 'index' , // 默認(rèn)操作名稱(chēng) 'DEFAULT_CHARSET' => 'utf-8' , // 默認(rèn)輸出編碼 'DEFAULT_TIMEZONE' => 'PRC' , // 默認(rèn)時(shí)區(qū) 'DEFAULT_AJAX_RETURN' => 'JSON' , // 默認(rèn)AJAX 數(shù)據(jù)返回格式,可選JSON XML ... 'DEFAULT_THEME' => 'default' , // 默認(rèn)模板主題名稱(chēng) 'DEFAULT_LANG' => 'zh-cn' , // 默認(rèn)語(yǔ)言 /* 數(shù)據(jù)庫(kù)設(shè)置 */ 'DB_TYPE' => 'mysql' , // 數(shù)據(jù)庫(kù)類(lèi)型 'DB_HOST' => 'localhost' , // 服務(wù)器地址 'DB_NAME' => '' , // 數(shù)據(jù)庫(kù)名 'DB_USER' => 'root' , // 用戶名 'DB_PWD' => '' , // 密碼 'DB_PORT' => 3306, // 端口 'DB_PREFIX' => 'think_' , // 數(shù)據(jù)庫(kù)表前綴 'DB_SUFFIX' => '' , // 數(shù)據(jù)庫(kù)表后綴 'DB_FIELDTYPE_CHECK' => false, // 是否進(jìn)行字段類(lèi)型檢查 'DB_FIELDS_CACHE' => true, // 啟用字段緩存 'DB_CHARSET' => 'utf8' , // 數(shù)據(jù)庫(kù)編碼默認(rèn)采用utf8 'DB_DEPLOY_TYPE' => 0, // 數(shù)據(jù)庫(kù)部署方式:0 集中式(單一服務(wù)器),1 分布式(主從服務(wù)器) 'DB_RW_SEPARATE' => false, // 數(shù)據(jù)庫(kù)讀寫(xiě)是否分離 主從式有效 /* 數(shù)據(jù)緩存設(shè)置 */ 'DATA_CACHE_TIME' => -1, // 數(shù)據(jù)緩存有效期 'DATA_CACHE_COMPRESS' => false, // 數(shù)據(jù)緩存是否壓縮緩存 'DATA_CACHE_CHECK' => false, // 數(shù)據(jù)緩存是否校驗(yàn)緩存 'DATA_CACHE_TYPE' => 'File' , // 數(shù)據(jù)緩存類(lèi)型,支持:File|Db|Apc|Memcache|Shmop|Sqlite| Xcache|Apachenote|Eaccelerator 'DATA_CACHE_PATH' => TEMP_PATH, // 緩存路徑設(shè)置 (僅對(duì)File方式緩存有效) 'DATA_CACHE_SUBDIR' => false, // 使用子目錄緩存 (自動(dòng)根據(jù)緩存標(biāo)識(shí)的哈希創(chuàng)建子目錄) 'DATA_PATH_LEVEL' => 1, // 子目錄緩存級(jí)別 /* 錯(cuò)誤設(shè)置 */ 'ERROR_MESSAGE' => '您瀏覽的頁(yè)面暫時(shí)發(fā)生了錯(cuò)誤!請(qǐng)稍后再試~' , //錯(cuò)誤顯示信息,非調(diào)試模式有效 'ERROR_PAGE' => '' , // 錯(cuò)誤定向頁(yè)面 /* 靜態(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)文件后綴 /* 語(yǔ)言設(shè)置 */ 'LANG_SWITCH_ON' => false, // 默認(rèn)關(guān)閉多語(yǔ)言包功能 'LANG_AUTO_DETECT' => true, // 自動(dòng)偵測(cè)語(yǔ)言 開(kāi)啟多語(yǔ)言功能后有效 /* 日志設(shè)置 */ 'LOG_RECORD' => false, // 默認(rèn)不記錄日志 'LOG_FILE_SIZE' => 2097152, // 日志文件大小限制 'LOG_RECORD_LEVEL' => array ( 'EMERG' , 'ALERT' , 'CRIT' , 'ERR' ), // 允許記錄的日志級(jí)別 /* 分頁(yè)設(shè)置 */ 'PAGE_ROLLPAGE' => 5, // 分頁(yè)顯示頁(yè)數(shù) 'PAGE_LISTROWS' => 20, // 分頁(yè)每頁(yè)顯示記錄數(shù) /* SESSION設(shè)置 */ 'SESSION_AUTO_START' => true, // 是否自動(dòng)開(kāi)啟Session // 內(nèi)置SESSION類(lèi)可用參數(shù) //'SESSION_NAME' => '', // Session名稱(chēng) //'SESSION_PATH' => '', // Session保存路徑 //'SESSION_CALLBACK' => '', // Session 對(duì)象反序列化時(shí)候的回調(diào)函數(shù) /* 運(yùn)行時(shí)間設(shè)置 */ 'SHOW_RUN_TIME' => false, // 運(yùn)行時(shí)間顯示 'SHOW_ADV_TIME' => false, // 顯示詳細(xì)的運(yùn)行時(shí)間 'SHOW_DB_TIMES' => false, // 顯示數(shù)據(jù)庫(kù)查詢(xún)和寫(xiě)入次數(shù) 'SHOW_CACHE_TIMES' => false, // 顯示緩存操作次數(shù) 'SHOW_USE_MEM' => false, // 顯示內(nèi)存開(kāi)銷(xiāo) 'SHOW_PAGE_TRACE' => false, // 顯示頁(yè)面Trace信息 由Trace文件定義和Action操作賦值 'SHOW_ERROR_MSG' => true, // 顯示錯(cuò)誤信息 /* 模板引擎設(shè)置 */ 'TMPL_ENGINE_TYPE' => 'Think' , // 默認(rèn)模板引擎 以下設(shè)置僅對(duì)使用Think模板引擎有效 'TMPL_DETECT_THEME' => false, // 自動(dòng)偵測(cè)模板主題 'TMPL_TEMPLATE_SUFFIX' => '.html' , // 默認(rèn)模板文件后綴 'TMPL_CACHFILE_SUFFIX' => '.php' , // 默認(rèn)模板緩存后綴 'TMPL_DENY_FUNC_LIST' => 'echo,exit' , // 模板引擎禁用函數(shù) 'TMPL_PARSE_STRING' => '' , // 模板引擎要自動(dòng)替換的字符串,必須是數(shù)組形式。 'TMPL_L_DELIM' => '{' , // 模板引擎普通標(biāo)簽開(kāi)始標(biāo)記 'TMPL_R_DELIM' => '}' , // 模板引擎普通標(biāo)簽結(jié)束標(biāo)記 'TMPL_VAR_IDENTIFY' => 'array' , // 模板變量識(shí)別。留空自動(dòng)判斷,參數(shù)為'obj'則表示對(duì)象 'TMPL_STRIP_SPACE' => false, // 是否去除模板文件里面的html空格與換行 'TMPL_CACHE_ON' => true, // 是否開(kāi)啟模板編譯緩存,設(shè)為false則每次都會(huì)重新編譯 'TMPL_CACHE_TIME' => -1, // 模板緩存有效期 -1 為永久,(以數(shù)字為值,單位:秒) 'TMPL_ACTION_ERROR' => 'Public:success' , // 默認(rèn)錯(cuò)誤跳轉(zhuǎn)對(duì)應(yīng)的模板文件 'TMPL_ACTION_SUCCESS' => 'Public:success' , // 默認(rèn)成功跳轉(zhuǎn)對(duì)應(yīng)的模板文件 'TMPL_TRACE_FILE' => THINK_PATH. '/Tpl/PageTrace.tpl.php' , // 頁(yè)面Trace的模板文件 'TMPL_EXCEPTION_FILE' => THINK_PATH. '/Tpl/ThinkException.tpl.php' , // 異常頁(yè)面的模板文件 'TMPL_FILE_DEPR' => '/' , //模板文件MODULE_NAME與ACTION_NAME之間的分割符,只對(duì)項(xiàng)目分組部署有效 // Think模板引擎標(biāo)簽庫(kù)相關(guān)設(shè)定 'TAGLIB_BEGIN' => '<' , // 標(biāo)簽庫(kù)標(biāo)簽開(kāi)始標(biāo)記 'TAGLIB_END' => '>' , // 標(biāo)簽庫(kù)標(biāo)簽結(jié)束標(biāo)記 'TAGLIB_LOAD' => true, // 是否使用內(nèi)置標(biāo)簽庫(kù)之外的其它標(biāo)簽庫(kù),默認(rèn)自動(dòng)檢測(cè) 'TAGLIB_BUILD_IN' => 'cx' , // 內(nèi)置標(biāo)簽庫(kù)名稱(chēng)(標(biāo)簽使用不必指定標(biāo)簽庫(kù)名稱(chēng)),以逗號(hào)分隔 'TAGLIB_PRE_LOAD' => '' , // 需要額外加載的標(biāo)簽庫(kù)(須指定標(biāo)簽庫(kù)名稱(chēng)),多個(gè)以逗號(hào)分隔 'TAG_NESTED_LEVEL' => 3, // 標(biāo)簽嵌套級(jí)別 'TAG_EXTEND_PARSE' => '' , // 指定對(duì)普通標(biāo)簽進(jìn)行擴(kuò)展定義和解析的函數(shù)名稱(chēng)。 /* 表單令牌驗(yàn)證 */ 'TOKEN_ON' => true, // 開(kāi)啟令牌驗(yàn)證 'TOKEN_NAME' => '__hash__' , // 令牌驗(yàn)證的表單隱藏字段名稱(chēng) 'TOKEN_TYPE' => 'md5' , // 令牌驗(yàn)證哈希規(guī)則 /* URL設(shè)置 */ 'URL_CASE_INSENSITIVE' => false, // URL地址是否不區(qū)分大小寫(xiě) 'URL_ROUTER_ON' => false, // 是否開(kāi)啟URL路由 'URL_DISPATCH_ON' => true, // 是否啟用Dispatcher 'URL_MODEL' => 1, // URL訪問(wèn)模式,可選參數(shù)0、1、2、3,代表以下四種模式: // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 當(dāng)URL_DISPATCH_ON開(kāi)啟后有效; 默認(rèn)為PATHINFO 模式,提供最好的用戶體驗(yàn)和SEO支持 'URL_PATHINFO_MODEL' => 2, // PATHINFO 模式,使用數(shù)字1、2、3代表以下三種模式: // 1 普通模式(參數(shù)沒(méi)有順序,例如/m/module/a/action/id/1); // 2 智能模式(系統(tǒng)默認(rèn)使用的模式,可自動(dòng)識(shí)別模塊和操作/module/action/id/1/ 或者 /module,action,id,1/...); // 3 兼容模式(通過(guò)一個(gè)GET變量將PATHINFO傳遞給dispather,默認(rèn)為s index.php?s=/module/action/id/1) 'URL_PATHINFO_DEPR' => '/' , // PATHINFO模式下,各參數(shù)之間的分割符號(hào) 'URL_HTML_SUFFIX' => '' , // URL偽靜態(tài)后綴設(shè)置 /* 系統(tǒng)變量名稱(chē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)分頁(yè)跳轉(zhuǎn)變量 'VAR_TEMPLATE' => 't' , // 默認(rèn)模板切換變量 'VAR_LANGUAGE' => 'l' , // 默認(rèn)語(yǔ)言切換變量 '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)分離出來(lái)納入了行為擴(kuò)展的屬性參數(shù),讀者可查閱手冊(cè)進(jìn)一步了解。