PHP Conference Japan 2024

應用程式設定

您應該提供一個設定陣列或一個 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

Yaf 應用程式設定
名稱 預設值 更新日誌
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_Loaderyaf.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 的設定可以透過這種方式設定。

新增註解

使用者提供的註解

此頁面沒有使用者提供的註解。
To Top