2013-12-19 4 views
5

У меня есть 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? Почему это работает, если я укажу целую папку библиотеки?

+1

Что вы пытаетесь сделать? Классы загружаются по требованию, ваше приложение будет загружать только классы, которые используются. Файл 'autoload_namespaces.php' автоматически генерируется Composer, вы не должны его редактировать. –

+0

Я пытаюсь использовать класс MemcachedOptions(): '$ options = new \ Zend \ Cache \ Storage \ Adapter \ MemcachedOptions();' и эта строка вызывает ошибку. – Phantom

+1

Предполагая, что вы установили Zend Framework с помощью Composer, должна быть запись 'Zend \\' в 'autoload_namespaces.php'. Это все, что вам нужно, ничего не меняйте. Если его нет, переустановите ZF с помощью Composer. –

ответ

7

Zend Framework 1.x может быть установлен с композитором.

Добавить: "требуют": { " ZendFramework/zendframework1": "1. *" },

к вашему composer.json И сделать композитор установки из командной строки. Это позволит загрузить zend framework и настроить библиотеку на автозагрузку вместе со всем, что управляет композитор.

Чтобы получить Зенд приложение, чтобы использовать композитор автозагрузчик вам нужно отредактировать файл приложение index.php и включает композитор автозагрузчик, как так:

require_once realpath(APPLICATION_PATH . '/../vendor/autoload.php'); 
+0

Вы знаете, как загружать определенные компоненты ZF1, не загружая все это, используя композитор? – GreeKatrina

+0

Эти пакеты имеют префикс zf1/something. Вот список: https://packagist.org/search/?q=zf1%2F – txyoji

+0

Спасибо. К сожалению, мне нужна версия 1.10.4, которую они не поддерживают. – GreeKatrina

Смежные вопросы