У меня есть PHP проект со следующими поставщиками структуры каталогов:Zend Framework композитор автозагрузку
vendor
zendframework
zendframework
library
Zend
...
...
Cache
...
...
Когда я положил следующую строку в autoload_namespaces.php everythins в порядке:
'Zend\\Cache' => $vendorDir . '/zendframework/zendframework/library/',
, но эта линия Безразлично «т работы:
'Zend\\Cache' => $vendorDir . '/zendframework/zendframework/library/Zend/Cache/',
ошибка:
Fatal error: Class 'Zend\Cache\Storage\Adapter\MemcachedOptions' not found
Что случилось с моим кодом? Как загрузить только модуль Cache из рамки zend? Почему это работает, если я укажу целую папку библиотеки?
Что вы пытаетесь сделать? Классы загружаются по требованию, ваше приложение будет загружать только классы, которые используются. Файл 'autoload_namespaces.php' автоматически генерируется Composer, вы не должны его редактировать. –
Я пытаюсь использовать класс MemcachedOptions(): '$ options = new \ Zend \ Cache \ Storage \ Adapter \ MemcachedOptions();' и эта строка вызывает ошибку. – Phantom
Предполагая, что вы установили Zend Framework с помощью Composer, должна быть запись 'Zend \\' в 'autoload_namespaces.php'. Это все, что вам нужно, ничего не меняйте. Если его нет, переустановите ZF с помощью Composer. –