私は作曲家のオートローディングクラスシステムでportailを実行します:
"autoload": {
"psr-4": {
"Portal\\": "src/"
}
}
composer.phar dump -o
を実行すると機能します。たとえば、私のクラスのBoostrapはvendor/composer/autoload_classmap.php
ファイルで十分に参照されています。
'Portal\\Core\\Bootstrap' => $baseDir . '/src/core/Bootstrap.php',
しかし、オートロードダンプでoptimizedオプションを実行しないと、オートロードシステムが機能しなくなります。
Fatal error: Class 'Portal\Core\Bootstrap' not found in /var/www/portail/prod/web/index.php on line 7
オートロードを-o
オプションなしで機能させるにはどうすればよいですか?
修正するには2つの方法があります。
変化する composer.json
から
"Portal\\Core\\": "src/core/"
または、core
ディレクトリの名前をCore
に変更します
https://getcomposer.org/doc/04-schema.md#psr-4
サブディレクトリ名は、サブ名前空間名の大文字小文字と一致する必要があります。