這些函式的行為受 php.ini 中的設定影響。
名稱 | 預設值 | 可變更性 | 版本變更記錄 |
---|---|---|---|
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 => \Yaf\Controller_Abstract Yaf_Route_Static => \Yaf\Route_Static