Yaf_Loader::registerLocalNamespace
(Yaf >=1.0.0)
Yaf_Loader::registerLocalNamespace — Регистрирует префикс локального класса
Описание
Регистрирует префикс локального класса, Yaf_Loader ищет классы в двух каталогах библиотеки, один из которых настраивается с помощью application.library.directory (в application.ini) который называется локальным каталогом библиотек; другой настраивается с помощью yaf.library (в php.ini), который называется глобальным каталогом библиотеки, так как он может использоваться многими приложениями на одном сервере.
Когда запускается автозагрузка, Yaf_Loader будет определять, в каком каталоге библиотеки следует искать, следует искать, проверяя имя префикса пропущенного имени класса. Если имя префикса зарегистрировано как localnamespack, будет искать в каталоге локальной библиотеки, в противном случае — в каталоге глобальной библиотеки.
Замечание:
Если yaf.library не настроен, то предполагается, что каталог глобальной библиотеки является каталогом локальной библиотеки. В этом случае все автозагрузки будут искать каталог локальной библиотеки. Но если вы хотите, чтобы ваше приложение Yaf было устойчивым, всегда регистрируйте свои собственные классы как локальные.
Список параметров
-
prefix
-
Строка или массив префиксов имени класса. Все префиксы класса с этим префиксом будут загружены в путь локальной библиотеки.
Возвращаемые значения
Логический тип (bool)
Примеры
Пример #1 Пример использования Yaf_Loader::registerLocalNamespace()
<?php
$loader = Yaf_Loader::getInstance('/local/library/', '/global/library');
$loader->registerLocalNamespace("Baidu");
$loader->registerLocalNamespace(array("Sina", "Weibo"));
$loader->autoload("Baidu_Name"); // будет искать в '/local/library/'
$loader->autoload("Sina"); // будет искать в '/local/library/'
$loader->autoload("Global_Name");// будет искать в '/global/library/'
$loader->autoload("Foo_Bar"); // будет искать в '/global/library/'
?>