アプリケーションの設定

設定内容を記した配列か、あるいは 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 string

アプリケーションのディレクトリ。このフォルダの中に "controllers"、"views"、"models"、"plugins" といったフォルダを配置します。

注意:

この項目は、デフォルト値を持たない唯一の項目です。 つまり、必ず手動で指定しなければいけません。

application.ext string

PHP スクリプトファイルの拡張子。クラスのオートロード (Yaf_Loader) で利用します。

application.view.ext string

ビューテンプレートスクリプトのファイル拡張子。

application.modules string

登録済みモジュールのカンマ区切りのリスト。特に、 ルーティングで PATH_INFO に三つ以上のセグメントがあるときに使います。

Yaf は、最初のセグメントがモジュール名なのかそうでないのかを知る手段が必要です。

application.library string

ローカルライブラリディレクトリ。Yaf_Loader および yaf.library を参照ください。

注意:

Yaf 2.1.6 以降では、この項目に配列を指定できるようになりました。 配列を指定した場合、ライブラリパスには application.library.directory の値を使います。

application.library.directory string

application.library のエイリアス。 Yaf 2.1.6 で導入されました。

application.library.namespace string

カンマ区切りで表した、ローカルライブラリ名前空間のプレフィックス。

Yaf 2.1.6 で導入されました。

application.bootstrap string

ブートストラップクラスのスクリプトへの絶対パス。

application.baseUri string

ルーティング時に、決まったプレフィックスをリクエスト URI から取り除くために使います。 例として、リクエスト URI が "/prefix/controller/action" だった場合を考えましょう。 application.baseUri を "/prefix" にしておくと、 ルーティング時に "/controller/action" だけが PATH_INFO とみなされるようになります。

ふつうは、この値を設定する必要はありません。

application.dispatcher.throwException bool

これを On にすると、エラーが発生したときに Yaf が例外をスローするようになります。 Yaf_Dispatcher::throwException() も参照ください。

application.dispatcher.catchException bool

これを On にすると、Yaf が例外をキャッチできなかったときに Error コントローラの Error アクションに転送するようになります。 Yaf_Dispatcher::catchException() も参照ください。

application.dispatcher.defaultRoute string

デフォルトのルート。指定しなかった場合は、デフォルトとして Static ルートを使います。 Yaf_Router::addRoute() も参照ください。

application.dispatcher.defaultModule string

デフォルトのモジュール名。 Yaf_Dispatcher::setDefaultModule() も参照ください。

application.dispatcher.defaultController string

デフォルトのコントローラ名。 Yaf_Dispatcher::setDefaultController() も参照ください。

application.dispatcher.defaultAction string

デフォルトのアクション名。 Yaf_Dispatcher::setDefaultAction() も参照ください。

application.system string

yaf の実行時の設定を、application.ini で application.system.lowcase_path のように設定します。

注意:

この方法で設定できるのは PHP_INI_ALL の項目だけです。