Настройка во время выполнения
Поведение этих функций зависит от установок в php.ini.
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
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
int -
Если в PATH_INFO только одна часть, ее следует рассмотреть в качестве контроллера или действия.
Если задана как On, она будет рассматриваться как имя действия (Action).
-
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. Это означает, что стек перенаправлений не может быть глубже 5.
Это сделано для предотвращения рекурсии в Yaf_Controller_Abstract::forward().
-
yaf.name_suffix
int -
Если задано как On, Yaf_Loader будет идентифицировать по его суффиксу, для определения, является ли он классом MVC.
Если задано как Off, Yaf_Loader будет смотреть на префикс.
-
yaf.name_separator
string -
Если не пусто, Yaf_Loader, при идентификации класса, будет искать суффикс учитывая заданный символ как разделитель.
К примеру, если задать равным "_", Yaf_Loader идентифицирует Index_Controller как класс контроллер, а IndexController как обычный класс.
-
yaf.cache_config
int -
Если задано как 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
int -
Работает начиная с PHP 5.3, если задано как On, все классы Yaf именуются с использованием пространств имен.
Например:
Yaf_Route_Rewrite => \Yaf\Route\Rewrite Yaf_Request_Http => \Yaf\Request\Http
Yaf_Controller_Abstract => \Yaf\Controller_Abstract Yaf_Route_Static => \Yaf\Route_Static