Я запускаю портлет с системой автозагрузки композитора:
"autoload": { "psr-4": { "Portal\\": "src/" } }
Он работает, когда я запускаю composer.phar dump -o
, например, мой класс Boostrap хорошо ссылается на файл vendor/composer/autoload_classmap.php
:
'Portal\\Core\\Bootstrap' => $baseDir . '/src/core/Bootstrap.php',
Но когда я не запускаю оптимизированную опцию при загрузке автозагрузки, система автозагрузки больше не работает:
Fatal error: Class 'Portal\Core\Bootstrap' not found in /var/www/portail/prod/web/index.php on line 7
Как сделать автозагрузку без опции -o
?
Существует два способа исправить это.
сменить композитор.json на
"Portal\\Core\\": "src/core/"
Или переименуйте core
каталог в Core
https://getcomposer.org/doc/04-schema.md#psr-4
Имя подкаталога ДОЛЖНО соответствовать случаю имен под-имен.