## Настройка во время выполнения

Поведение функций зависит от установок в файле php.ini.

Yaf Опции настройки
Имя | По умолчанию | Место изменения | Список изменений
--- | --- | --- | ---
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` 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: предельная глубина стека перенаправлений.

  Ограничение глубины стека защищает от бесконечного рекурсивного вызова метода Yaf_Controller_Abstract::forward().

`yaf.name_suffix` int

  При установке значения On автозагрузчик Yaf_Loader распознаёт MVC-классы по суффиксу в названии класса.

  При установке значения Off автозагрузчик Yaf_Loader опирается на префикс в названии класса.

`yaf.name_separator` string

  Непустое значение разделяет название класса на две части: префикс и суффикс. Автозагрузчик Yaf_Loader распознает MVC-роль класса по суффиксу, а название MVC-компонента — по префиксу.

  С разделителем "_" автозагрузчик Yaf_Loader распознает название Index_Controller как класс контроллера, а IndexController — как стандартный класс.

`yaf.cache_config` int

  При установке значения On и передаче в конструктор класса Yaf_Application аргумента с путём к конфигурационному ini-файлу результат компиляции ini-файла кешируется в PHP-процессе.

  > Замечание:

  > Модуль Yaf проверяет время модификации файла конфигурации и перекомпилирует ini-файл, если значение mtime изменилось с момента последней компиляции.

  Внимание

  Модуль Yaf обрабатывает путь к 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. Последний компонент названия — ключевое слово в PHP, которое нельзя указывать как название класса, поэтому класс получит следующее название:

      Yaf_Controller_Abstract => \Yaf\Controller_Abstract
      Yaf_Route_Static => \Yaf\Route_Static

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