# Конфигурация приложения

Потребуется задать конфигурацию в виде массива или 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 "/application"
    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

  Абсолютный путь к скрипту класса Bootstrap.

`application.baseUri` string

  Используется для удаления фиксированного префикса URI запроса в процессе маршрутизации. К примеру, пришёл запрос к "/prefix/controller/action". Если вы зададите application.baseUri равным "/prefix", то в процессе маршрутизации, в качестве PATH_INFO будет использоваться только "/controller/action".

  В целом, это довольно бесполезная настройка.

`application.dispatcher.throwException` bool

  При установке значения On модуль Yaf выбрасывает исключения, если возникают ошибки. Смотрите также описание метода Yaf_Dispatcher::throwException().

`application.dispatcher.catchException` bool

  При установке значения On модуль Yaf отправляет необработанные исключения в контроллер Ошибок/Действий. Смотрите также описание метода 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.

  > Замечание:

  > Этот способ устанавливает только директивы с режимом `INI_ALL`.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open