Ответ - это комбинация комментария и ответа, который я видел здесь.Вот простой пример из Zend .
// the first two lines should set it up for the Zend library
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
// these are for custom libraries, two different ways of doing it
// and NOT necessary if you don't have any custom libraries
$loader->registerNamespace('Foo_');
$loader->registerNamespace(array('Foo_', 'Bar_'));
Вот что Zend должен был сказать по этому поводу :
По умолчаниюэто позволит загружать любые классы с префиксами пространства имен класса «Zend_» или «ZendX_», если они находятся в вашем include_path.
Что произойдет, если у вас есть другие префиксы пространства имен, которые вы хотите использовать?Лучший и самый простой способ - вызвать метод registerNamespace () в экземпляре.Вы можете передать один префикс пространства имен или их массив:
И затем, конечно, обязательно включите PATH_SEPARATOR
при назначении более чем одного путь с использованием set_include_path()
, в противном случае он просто объединит их.
Вот как я это сделаю в моем файле index.php .
set_include_path(
'/usr/local/zend/share/ZendFramework/library' .
PATH_SEPARATOR . get_include_path() .
PATH_SEPARATOR . '.'
);