配置你的应用程序
简介
FuelPHP 框架是以配置慣例的想法建成。这樣的結果是你可以在一个高度可自訂的基础上, 開始建立你的應用程序。
配置档案儲存在 app/config 文件夾裡。 应用程序的基本配置在 app/config/config.php 完成。 載入的配置可依特定环境改變,更多關於此在 环境。
要覆寫功能相關配置的設定,在 app/config 建立一个新档案, 或從 core/config 複製相應的档案到 app/config。
配置選項
这些是可以被定義在应用程序中的基本配置档案 app/config/config.php 的選項。 當你剛裝好 FuelPHP 時,这个档案是空的。所有如下定義的預設值, 被定義在 core/config 文件夾中的相應档案。當你想要覆寫一个預設值時,在你的应用程序配置档案中添加該鍵到陣列, 并修改值。或者,從核心档案複製該段落到应用程序档案, 并修改它。
FuelPHP 使用 "句點表示法" 处理陣列。它是一種方便存取一个多維陣列元素的方式。 此表示法也用於文件中,因为它提供简单的陣列类型參照。例如:
// 當你看見 "always_load.packages = array()",它是以下的简寫:
array("always_load" => array("packages" => array(...) ) );
| 鍵 | 类型 | 預設 | 描述 |
|---|---|---|---|
| base_url | 字串 | |
应用程序的基础 URL。可以是相對的。必須包含一个斜線。('/foo/'、'http://example.com/') |
| url_suffix | 字串 | |
任何需要被添加到 Fuel 產生的 URL 的後綴。如果後綴是一个副档名, 確認包含點('.html')。 |
| index_file | 字串 | |
主引導程序的档案名稱。如果你使用 mod_rewrite,設为 false 或移除。 |
| controller_prefix | 字串 | |
當對應 URI 到控制器类別名稱時用來尋找控制器的类別前綴。 如果你想要你的控制器有命名空間或在不同於 app/classes/controller 的文件夾,你必須變更它。 |
| profiling | 布林 | |
是否啟用分析器。 |
| cache_dir | 字串 | |
要儲存快取档案的資料夾,此資料夾必須是可寫入的。 |
| caching | 布林 | |
是否啟用档案 finder 快取。 |
| cache_lifetime | 整数 | |
档案 finder 快取存活時間(秒)。 |
| ob_callback | 回呼(callback) | |
給 ob_start() 的回呼(callback),設为 ob_gzhandler 以啟用 gzip 輸出编码。 |
| errors | 陣列 | 陣列,包含配置鍵以控制檢测到错误時的行为: | |
| errors.continue_on | 陣列 | |
在哪一種 php 错误繼續执行。見错误处理。 |
| errors.throttle | 整数 | |
在我們停止顯示前要顯示多少错误。(預防記憶體不足错误) |
| errors.notices | 布林 | |
是否顯示 notices。 |
| language | 字串 | |
預設的应用程序語言,由 Lang 类別 使用。 |
| locale | 字串 | |
在一些 php 安装需要給 setlocale() 使用,設定为 false
以防止被設定。 每種 OS 的設定語法会不同,例如 Ubuntu 需要一个 .utf8(编码)後綴。 |
| encoding | 字串 | |
应用程序的預設字元编码。 |
| server_gmt_offset | 整数 | |
當 time() 使用時,伺服器與 GMT 時間戳記以秒为单位的偏移量。 这僅僅是为了改正错误的伺服器配置:time() 應始終回傳自 January 1 1970 00:00:00 GMT 以來的秒数。 |
| default_timezone | 字串 | |
伺服器時區。 |
|
如果你設定这个值,請 務必 確保該時區配置與你伺服器上設定的時區相符。 因为時區計算的運作藉由轉化为 GTM,當你時區不相符時,它将導致嚴重错误。 由於不正確的過期時間計算,将造成在你应用程序中的時間顯示不正確,以及 cookie/session 的問題! |
|||
| log_threshold | 整数 | |
記錄的門檻。什么等級的訊息要記錄,或一个應該被記錄的特定訊息等級的陣列。閱讀關於可能的值 |
| log_path | 字串 | |
儲存紀錄的資料夾,此資料夾必須为可寫入的。 |
| log_date_format | 字串 | |
在紀錄中使用的時間/日期格式。 |
| security | 陣列 | 陣列,包含配置鍵以控制你的应用程序安全: | |
| security.csrf_autoload | 布林 | |
是否自动檢查 CSRF 符記。閱讀更多關於 CSRF。 |
| security.csrf_token_key | 字串 | |
當檢查 CSRF 符記時取回的 $_POST 鍵。 |
| security.csrf_expiration | 整数 | |
設定 CSRF cookie 的到期時間。任何大於 0 的秒数 cookie 将過期。 |
| security.token_salt | 字串 | |
用來確保產生的安全符記是不可預测的鹽。 |
| security.allow_x_headers | 布林 | |
允許 Input 类別在呈现時使用 "X" 表頭,例如 HTTP_X_FORWARDED_FOR 或 HTTP_X_FORWARDED_PROTO。 |
| security.uri_filter | 陣列 | |
要用來過濾 URI 的 PHP 函式。 |
| security.input_filter | 陣列 | |
用來過濾輸入陣列($_GET、$_POST 和 $_COOKIE)的 PHP 函式。可以被設为 xxs_clean, 根據輸入的大小可能導致效能損失。 |
| security.output_filter | 陣列 | |
用來過濾設定給檢視變数的 PHP 函式。可以被設为 xxs_clean, 根據變数的大小可能導致效能損失。 |
| security.auto_filter_output | 布林 | |
是否自动编码(htmlentities)檢視資料。 |
| security.whitelisted_classes | 陣列 | |
隨著輸出编码打開,所有傳遞的物件将被轉換为字串或拋出例外, 除非它們是此陣列中类別的實例。 |
| cookie | 陣列 | 陣列,包含配置鍵定義全域的 cookie 設定: | |
| cookie.expiration | 整数 | |
在 cookie 到期前的秒数。 |
| cookie.path | 字串 | |
限制 cookie 可用的路徑。 |
| cookie.domain | 字串 | |
限制 cookie 可用的網域。 |
| cookie.secure | 布林 | |
只透過安全連線傳輸 cookie。 |
| cookie.http_only | 布林 | |
只透過 HTTP 傳輸 cookie,停用 javascript 存取。 |
| module_paths | 陣列 | |
指向模組目录的路徑。當添加一个模組沒有指定位置時使用。 |
| always_load | 陣列 | 陣列,包含框架初始化時必須載入的項目: | |
| always_load.packages | 陣列 | |
那些套件要自动載入。像这樣指定:array('package') 或 array('package' => PKGPATH.'path/to/package')为了让它運作,套件路徑必須在 package_paths 被設定 |
| always_load.modules | 陣列 | |
那些模組要自动載入。像这樣指定:array('package')。自动載入的模組可藉由 URL 存取。为了让它運作,模組路徑必須在 module_paths 被設定 |
| always_load.classes | 陣列 | |
哪些类別要自动載入和初始化。當你想要從套件或模組自动載入一个类別時, 確保那些也被自动載入了! |
| always_load.config | 陣列 | |
哪些配置档案要自动載入。像这樣載入一个配置档案進入群組:array('config') 或 array('filename' => 'group')。如果你不想載入档案進入群組,設定群組名稱为 null:array('filename' => null)。 |
| always_load.language | 陣列 | |
哪些語言档案要自动載入。像这樣載入一个語言档案進入群組:array('lang') 或 array('filename' => 'group')。如果你不想載入档案進入群組,設定群組名稱为 null:array('filename' => null)。 |