プラグインを作ったりカスタマイズを行っていくと「The file was found but the class was not in it, the class name or namespace probably has a typo.」と言うエラーに遭遇することがあります。

RuntimeException in DebugClassLoader.php line 241:
The autoloader expected class “Plugin\PluginName\XXXXXXXX” to be defined in file “/var/www/vendor/composer/../../app/Plugin/PluginName/XXXXXXX.php”. The file was found but the class was not in it, the class name or namespace probably has a typo.

ファイルがあるけどクラスがない!typoじゃないの?と言われていますね。

ファイル名の打ち間違い、ネームスペースの間違いなど単純なミスであることが多いです。クラス名が一部だけ大文字小文字を間違っているなど。
IDEの方でエラーが出ることもあると思いますので注意深く観察したいものです。

EC-CUBE4系や3系ではpsr-4に基づき、クラスを読み込んでいきますが、作成したファイルがpsrの規則に則っておらずPHPファイルが存在するがファイル内にクラスが存在しないために発生するエラー(RuntimeException)です。

EC-CUBE開発者の方はクラスもIDEやコマンドで作成することが多いと思いますが、たまにファイルを手動で作りクラス名が1文字間違っていたりするために発生していることがほとんどかと思います。
デバッグモードでなければ無視されるはずなので気づかないことも多いかもしれません。