Zend Framework 3 использует Composer не только для установки, но и для запуска. Кажется, нет отдельной версии. При установке Composer создает classmap
и создает vendor/autoload.php
файл, который будет включен. Внутри типичная инициализация со случайным хешем, например
return ComposerAutoloaderInit242fa109d2480a9a42b64fb9478b5280::getLoader();
Я пытаюсь использовать ZF3 без Композиторы авто-творения. В ZF2 я использовал ZendLoader
и в комплекте classmap generator
делать вещи самостоятельно. Это было довольно легко использовать, и никакие сторонние инструменты не требовались.
Есть ли способ заставить это работать снова?
ZF3 — это не монолитный фреймворк, а набор пакетов, поэтому вы даже не можете получить zip-версию от GitHub
В теории вы можете использовать любой PSR4 совместимый загрузчик классов и PHP spl_autoload_register, но у вас будет проблема, откуда взять все модули и как поддерживать их в актуальном состоянии. Делать это вручную будет больно, гораздо проще использовать композитор.
Но вы можете использовать альтернативные загрузчики классов, одним из примеров может быть Загрузчик класса Symfony PSR4
use Symfony\Component\ClassLoader\Psr4ClassLoader;
require __DIR__.'/lib/ClassLoader/Psr4ClassLoader.php';
$loader = new Psr4ClassLoader();
$loader->register();
Но если композитор используется правильно
—нет-DEV
или даже
—optimize-автозагрузчика
для развертываний нет причин не использовать его.
И, конечно, это поддерживает Classmap также.
Других решений пока нет …