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

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

Опции настройки Yaf
Имя По умолчанию Место изменения Список изменений
yaf.library   PHP_INI_ALL
yaf.action_prefer 0 PHP_INI_ALL
yaf.lowcase_path 0 PHP_INI_ALL
yaf.use_spl_autoload 0 PHP_INI_ALL
yaf.forward_limit 5 PHP_INI_ALL
yaf.name_suffix 1 PHP_INI_ALL
yaf.name_separator   PHP_INI_ALL
yaf.cache_config 0 PHP_INI_SYSTEM
yaf.environ product PHP_INI_SYSTEM
yaf.use_namespace 0 PHP_INI_SYSTEM

Краткое разъяснение конфигурационных директив.

yaf.library string

Путь к глобальным библиотекам, Yaf_loader будет искать глобальные библиотеки тут.

yaf.action_prefer integer

Если в PATH_INFO только одна часть, ее следует рассмотреть в качестве контроллера или действия.

Если задана как On, она будет рассматриваться как имя действия (Action).

yaf.lowcase_path integer

Рассматривать ли все пути в нижмен регистре при автозагрузке классов.

yaf.use_spl_autoload integer

Если задано как On, то, если Yaf_Loader не может найти класс, он вернет FALSE, тем самым предоставляя возможность вызова другой функции автозагрузки.

Если задано как Off, то, если Yaf_Loader не найдет класс, он вернет TRUE и прервет дальнейшие действия по автозагрузке.

Замечание:

Yaf регистрирует загрузчик классав при создании экземпляра класса Yaf_Application, так что какие либо другие автозагрузчики, зарегистрированные до инстанциации этого класса, будут запущены до Yaf_Loader::autoload().

Если задано как Off(по умолчанию), Yaf_Loader::autoload() будет всегда возвращать TRUE.

yaf.forward_limit integer

Максимальное количество перенаправлений, по умолчанию 5. Это означает, что стек перенаправлений не может быть глубже 5.

Это сделано для предотвращения рекурсии в Yaf_Controller_Abstract::forward().

yaf.name_suffix integer

Если задано как On, Yaf_Loader будет идентифицировать по его суффиксу, для определения, является ли он классом MVC.

Если задано как Off, Yaf_Loader будет смотреть на префикс.

yaf.name_separator string

Если не пусто, Yaf_Loader, при идентификации класса, будет искать суффикс учитывая заданный символ как разделитель.

К примеру, если задать равным "_", Yaf_Loader идентифицирует Index_Controller как класс контроллер, а IndexController как обычный класс.

yaf.cache_config integer

Если задано как On, и в то же время вы используете конфигурационный ini-файл как параметр Yaf_Application(), то результат компиляции этого ini-файла будет закеширован в процессе PHP.

Замечание:

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

Внимание

Yaf использует путь к ini-файлу как ключ закешированной записи, из-за этого рекомендуется использовать полные, абсолбтные пути, чтобы не произошло конфликта между двумя приложениями, использующими ini-файлы с одинаковыми именами, но разным содержимым.

yaf.environ string

По умолчанию равно "product" и используется Yaf для извлечения нужной секции из ini-файла.

Так что, если параметр равен "product", Yaf будет использовать секцию "product" в ini-файле (первый параметр Yaf_Application) в качестве конфигурации Yaf_Application.

yaf.use_namespace integer

Работает начиная с PHP 5.3, если задано как 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