АвтозагрузчикZend_Loader_Autoloader представляет собой комплексное решение для автозагрузки. Он разрабатывался для следующих целей:
Zend_Loader_Autoloader реализован в виде синглетона, что делает его доступным из любого места. Это дает возможность регистрировать дополнительные автозагрузчики в любой момент выполнения, когда это необходимо. Использование автозагрузчика
Когда экземпляр автозагрузчика извлекается в первый раз,
он регистрирует себя через
По умолчанию автозагрузчик сконфигурирован с тем, чтобы
соответствовать пространствам имен "Zend_" и "ZendX_".
Если у вас есть есть своя библиотека, которая используют
собственное пространство имен, то вы можете зарегистрировать его
в автозагрузчике, используя метод
Вы можете также регистрировать любые обратные вызовы для автозагрузки, опционально с определенным пространством имен (или группой пространств имен). Zend_Loader_Autoloader будет искать соответствие им до того, как использовать свой встроенный механизм автозагрузки.
Например, вам можете захотеть использовать одну или более
компонент из eZcomponents в своем приложении на основе
Zend Framework. Для того, чтобы использовать возможности
eZcomponents по автозагрузке, добавьте его автозагрузчик в стек,
используя Это говорит автозагрузчику, чтобы он использовал автозагрузчик eZcomponents для классов, начинающихся с "ezc".
Вы можете использовать метод
По умолчанию Zend_Loader_Autoloader не
подавляет ошибки при использовании его внутреннего автозагрузчика,
который использует Zend_Loader::loadClass().
В большинстве случаев это именно то, чего вы хотите.
Тем не менее, могут быть случаи, когда может потребоваться подавлять
их. Вы можете сделать это, используя метод
И наконец, иногда может потребоваться, чтобы автозагрузчик загружал
все пространства имен. Например, библиотеки PEAR не используют
общего пространства имен, что делает указание отдельных
пространств имен затруднительным, если используется много компонент
из PEAR. Вы можете использовать метод
Итерфейс автозагрузчикаКроме возможности указывать любые обратные вызовы в качестве автозагрузчиков, Zend Framework предоставляет интерфейс, который классы автозагрузчиков могут реализовывать - Zend_Loader_Autoloader_Interface:
Используя этот интерфейс, вы можете передавать экземпляр
класса методам Zend_Loader_Autoloader-а
Справка по автозагрузчикуНиже приведено руководство по методам, доступным в классе Zend_Loader_Autoloader.
|