配置你的应用程序
简介
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)。 |