您應該提供一個設定陣列或一個 ini 設定檔(參見 Yaf_Config_Ini) 路徑給 Yaf_Application::__construct()。
Yaf 會自動合併應用程式設定和使用者設定。應用程式設定具有前綴 "yaf." 或 "application."。如果 "yaf." 和 "application." 皆存在,則優先採用 "application."。
範例 #1 PHP 陣列範例
<?php
$configs = array(
"application" => array(
"directory" => dirname(__FILE__),
"dispatcher" => array(
"catchException" => 0,
),
"view" => array(
"ext" => "phtml",
),
),
);
$app = new Yaf_Application($configs);
?>
範例 #2 一個 ini 檔案範例
[yaf] yaf.directory = APPLICATION_PATH "/appliation" yaf.dispatcher.catchException = 0 [product : yaf] ; user configuration list here
名稱 | 預設值 | 更新日誌 |
---|---|---|
application.directory | ||
application.ext | "php" | |
application.view.ext | "phtml" | |
application.modules | "index" | |
application.library | application.directory . "/library" | |
application.library.directory | application.directory . "/library" | |
application.library.namespace | "" | |
application.bootstrap | application.directory . "/Bootstrap" . application.ext | |
application.baseUri | "" | |
application.dispatcher.defaultRoute | ||
application.dispatcher.throwException | 1 | |
application.dispatcher.catchException | 0 | |
application.dispatcher.defaultModule | "index" | |
application.dispatcher.defaultController | "index" | |
application.dispatcher.defaultAction | "index" | |
application.system |
以下是設定指示的簡短說明。
application.directory
字串應用程式的目錄,也就是包含 "controllers"、"views"、"models"、"plugins" 資料夾的資料夾。
注意:
此設定項目是唯一沒有預設值的項目。您應該始終手動定義它。
application.ext
字串PHP 腳本的檔案副檔名,用於類別自動載入 ( Yaf_Loader)。
application.view.ext
字串檢視範本腳本的檔案副檔名。
application.modules
字串已註冊模組的逗號分隔清單,用於路由處理,尤其是在 PATH_INFO 中有多個區段時,
Yaf 需要一種方法來判斷第一個區段是否為模組名稱。
application.library
字串本地程式庫目錄,請參閱 Yaf_Loader 和 yaf.library。
注意:
在 Yaf 2.1.6 之後,此設定項目可以是一個陣列。程式庫路徑將嘗試使用在 application.library.directory 中設定的項目
application.library.directory
字串application.library 的別名。 Yaf 2.1.6 中引入
application.library.namespace
字串本地程式庫命名空間的逗號分隔前綴。
Yaf 2.1.6 中引入
application.bootstrap
字串Bootstrap 類別腳本的絕對路徑。
application.baseUri
字串用於在路由過程中移除請求 URI 的固定前綴。舉例來說,有一個請求 URI 為 "/prefix/controller/action" 的請求。如果您將 application.baseUri 設定為 "/prefix",則只有 "/controller/action" 將在路由過程中被視為 PATH_INFO。
一般情況下,不需要設定這個值。
application.dispatcher.throwException
布林值如果設定為 On,Yaf 會在發生錯誤時拋出異常。另請參閱 Yaf_Dispatcher::throwException()。
application.dispatcher.catchException
布林值如果設定為 On,當發生未處理的異常時,Yaf 會轉向到 Error 控制器/動作。另請參閱 Yaf_Dispatcher::catchException()。
application.dispatcher.defaultRoute
字串預設路由,如果未指定,將使用靜態路由作為預設值。請參閱:Yaf_Router::addRoute()。
application.dispatcher.defaultModule
字串預設模組名稱,另請參閱 Yaf_Dispatcher::setDefaultModule()。
application.dispatcher.defaultController
字串預設控制器名稱,另請參閱 Yaf_Dispatcher::setDefaultController()。
application.dispatcher.defaultAction
字串預設動作名稱,另請參閱 Yaf_Dispatcher::setDefaultAction()。
application.system
字串在 application.ini 中設定 Yaf 執行時期設定,例如:application.system.lowcase_path
注意:
只有
INI_ALL
的設定可以透過這種方式設定。