Как загрузить Zend Framework в мой существующий проект?

Я пытаюсь добавить Zend в существующий проект, и для этого, я думаю, мне нужен автозагрузчик. Поэтому я попытался включить различные файлы в папку загрузчика и запустить метод register() из них;

require_once __DIR__ . '/../../code/external/zend/library/Zend/Loader/ModuleAutoloader.php';
\Zend\Loader\ModuleAutoloader::register();

получает меня:

Неустранимая ошибка PHP: необработанное исключение «LogicException» с сообщением «Переданный массив не указывает существующий статический метод (первый член массива не является допустимым именем класса или объектом)» в /home/kramer65/myproject/code/external/zend/library /Zend/Loader/ModuleAutoloader.php:312

и

require_once __DIR__ . '/../../code/external/zend/library/Zend/Loader/StandardAutoloader.php';
\Zend\Loader\StandardAutoloader::register();

получает меня:

Неустранимая ошибка PHP: необработанное исключение «LogicException» с сообщением «Переданный массив не указывает существующий статический метод (первый член массива не является допустимым именем класса или объектом)» в /home/kramer65/myproject/code/external/zend/library /Zend/Loader/Стандартный автозагрузчик.php:243

Итак, я проверил строку 243 из StandardAutoloader.php, которая гласит:

spl_autoload_register(array($this, 'autoload'));

Думаю, мне нужно предоставить какой-то массив, но я не уверен, какой именно и как? Может ли кто-нибудь дать мне более ценные рекомендации о том, как загрузить Zend в мой проект? Все советы приветствуются!

[EDIT] Позвольте мне добавить, что я спрашиваю это о Zend 2.


person kramer65    schedule 19.06.2014    source источник
comment
Взгляните сюда, похожая проблема: stackoverflow.com/questions/4542527/   -  person VikingBlooded    schedule 19.06.2014
comment
@VikingBlooded - Да, я тоже видел этот вопрос, но он касается Zend 1, который, похоже, имеет другую структуру загрузчика. Вы бы знали об этом в Zend 2?   -  person kramer65    schedule 19.06.2014
comment
framework.zend.com/manual/ 2.0/en/modules/ взгляните на раздел параметров конфигурации и посмотрите, поможет ли это.   -  person VikingBlooded    schedule 19.06.2014


Ответы (1)


Вы вызываете register() статически, но это не статический метод, что и является причиной ошибки. Я не делал этого раньше, но я думаю, что вы хотите что-то вроде этого:

require_once __DIR__ . '/../../code/external/zend/library/Zend/Loader/StandardAutoloader.php';
$loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));
$loader->register();
person Tim Fountain    schedule 19.06.2014