実行時設定
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_ALL |
以下に設定ディレクティブに関する 簡単な説明を示します。
-
yaf.library
string -
グローバルライブラリパス。Yaf_loader は グローバルライブラリをこのディレクトリから探します。
-
yaf.action_prefer
int -
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 ファイルの最終更新時刻を調べ、 前回のコンパイル以降に変更があった場合は読みなおします。
警告Yaf は ini ファイルのパスをキャッシュエントリのキーとして使います。 そのため、ini ファイルは絶対パスで指定しておきましょう。 そうしないと、もし複数のアプリケーションが 同じ相対パスに ini ファイルを持っていたときに、衝突が発生します。
-
yaf.environ
string -
デフォルト値は "product" で、Yaf が ini ファイルのどのセクションを読み込むのかを指定します。
つまり、もしこの値が "product" なら、Yaf は ini ファイルの "product" セクションを読んで Yaf_Application の最終設定をします。ini ファイルは 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