# アプリケーションの設定

設定内容を記した配列か、あるいは 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 の項目だけです。