(Yaf >=1.0.0)
Yaf_Loader::registerLocalNamespace — Регистрирует префикс локального класса
Метод регистрирует префикс локального класса. Автозагрузчик Yaf_Loader ищет классы в двух каталогах библиотеки: один настраивается директивой application.library.directory в файле application.ini и называется локальным каталогом библиотеки; другой — директивой yaf.library в файле php.ini и называется глобальным каталогом библиотеки. Каталог называется глобальным, потому что содержит общие файлы для приложений на одном сервере.
При запуске автозагрузки объект Yaf_Loader распознаёт префикс в названии класса, который требуется загрузить, и определяет, в каком каталоге библиотеки искать файл класса. Префиксы, которые зарегистрировали в локальном пространстве имён, автозагрузчик ищет в локальном каталоге библиотеки, иначе ищет в глобальном каталоге.
Замечание:
Без настройки директивы yaf.library модуль приравняет глобальный каталог к локальному, и автозагрузчик станет искать файлы в локальном каталоге библиотеки. Регистрация префикса локальных классов повышает устойчивость Yaf-приложения.
prefixСтрока с отдельным префиксом или массив префиксов. Файлы классов, названия которых содержат префикс, автозагрузчик станет искать по пути локальной библиотеки.
Метод возвращает объект Yaf_Loader или false.
Пример #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/'