PHP Conference Japan 2024

執行階段設定

這些函式的行為受 php.ini 中的設定影響。

Yaf 設定選項
名稱 預設值 可變更性 版本變更記錄
yaf.library   INI_ALL
yaf.action_prefer 0 INI_ALL
yaf.lowcase_path 0 INI_ALL
yaf.use_spl_autoload 0 INI_ALL
yaf.forward_limit 5 INI_ALL
yaf.name_suffix 1 INI_ALL
yaf.name_separator   INI_ALL
yaf.cache_config 0 INI_SYSTEM
yaf.environ product INI_SYSTEM
yaf.use_namespace 0 INI_SYSTEM

以下是設定指令的簡短說明。

yaf.library 字串

全域程式庫路徑,Yaf_loader 將在此目錄中搜尋全域程式庫。

yaf.action_prefer 整數

如果 PATH_INFO 中只有一個部分,應該將其視為控制器還是動作?

如果此設定為開啟 (On),則會將其視為動作名稱。

yaf.lowcase_path int

在類別自動載入期間是否將所有路徑轉換為小寫。

yaf.use_spl_autoload int

當此值為開啟 (On) 時,如果 Yaf_Loader 找不到類別,它將返回 false,然後讓其他自動載入函式有機會被呼叫。

當此值為關閉 (Off) 時,如果 Yaf_Loader 找不到類別,它將返回 true,並使類別自動載入立即失敗。

注意事項:

Yaf 會在 Yaf_Application 實例化期間註冊其載入器,因此任何在實例化之前註冊的其他自動載入器將在 Yaf_Loader::autoload() 之前被呼叫。

當此值為關閉 (Off,預設值) 時,Yaf_Loader::autoload() 將始終返回 true

yaf.forward_limit int

最大轉發次數,預設值為 5。這表示轉發堆疊中最多可以有 5 個值。

這是防止遞迴 Yaf_Controller_Abstract::forward() 的保護機制。

yaf.name_suffix int

當此設定為開啟 (On) 時,Yaf_Loader 將根據類別的後綴來判斷它是否為 MVC 類別。

當此設定為關閉 (Off) 時,Yaf_Loader 將查看類別名稱的前綴。

yaf.name_separator string

當此值不為空時,Yaf_Loader 將識別類別後綴和此字串值。

例如,當此值為 "_" 時,Yaf_Loader 會將 Index_Controller 視為控制器類別,而 IndexController 則視為一般類別。

yaf.cache_config int

如果此設定為開啟 (On),並且同時您使用 ini 設定檔作為 Yaf_Application() 的參數,則 ini 設定檔的編譯結果將會被快取在 PHP 程序中。

注意事項:

Yaf 會檢查 ini 檔案的修改時間 (mtime),如果自上次編譯以來已更改,Yaf 將會重新載入它。

警告

Yaf 使用 ini 檔案路徑作為快取項目的鍵值,因此請在 ini 檔案路徑中使用絕對路徑,否則如果兩個應用程式使用相同的 ini 設定檔相對路徑,則可能會發生一些衝突。

yaf.environ string

此值的預設值為 "product",用於 Yaf 擷取 ini 設定檔的設定區段。

也就是說,如果此值為 "product",Yaf 將使用 ini 設定檔(Yaf_Application 的第一個參數)中名為 "product" 的區段作為 Yaf_Application 的最終設定。

yaf.use_namespace int

如果此值為開啟 (On),則所有 Yaf 類別都將以命名空間樣式命名。

例如

Yaf_Route_Rewrite => \Yaf\Route\Rewrite
Yaf_Request_Http  => \Yaf\Request\Http
        
有一個例外,就是像 Yaf_Controller_Abstract 這樣的類別。最後一個組成部分是 PHP 的關鍵字,不能用作類別名稱,因此對於此類類別
Yaf_Controller_Abstract => \Yaf\Controller_Abstract
Yaf_Route_Static => \Yaf\Route_Static
        

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top