composer2.0以上で *.php does not comply with psr-4 autoloading standard

Composer 2.0以上でPSR-4オートローディングエラーが発生した際の原因と解決方法。

composer PSR-4 PHP

概要

事象:composer update時にClass App\UseCases\Tag\UpdateArticleTags located in ./app/Usecases/Tag/UpdateArticleTags.php does not comply with psr-4 autoloading standard. Skipping. のエラー 原因:フォルダ名はUsecasesなのに、namespaseではUseCasesを使っていた。 対策:namespaseの大文字小文字をそろえる。

経緯

Usecaseを導入しようと新しい新しいフォルダを追加した。

新しいフォルダとphpファイルを追加しcomposer updateをすると、Class App\UseCases\Tag\UpdateArticleTags located in ./app/Usecases/Tag/UpdateArticleTags.php does not comply with psr-4 autoloading standard. Skipping.

psr-4の仕様に沿ってないということなので、仕様を調べる

psr-4の仕様を読むと、パスと名前空間は同じである必要があり、大文字小文字を区別するということだった。

名前空間を修正

image.png

修正完了!