Composer PSR-4 自动加载接口弃用通知

Composer PSR-4 Autoload Interface Deprecation Notice

我无法理解这个简单的界面有什么问题。

<?php

namespace App\Interfaces;

use Illuminate\View\View;

interface renderData
{
        public function renderAsHtml(): View;
}

当我composer dump-autoload收到以下通知

Deprecation Notice: Class App\Interfaces\renderData located in ./app/Interfaces/RenderData.php does not comply with psr-4 autoloading standard. It will not autoload anymore in Composer v2.0.

composer.json 自动加载部分:

    "autoload": {
        "psr-4": {
            "App\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
     },

文件夹结构为:

<root_project>
 app
 Console
 ...

我已经尝试将应用程序重命名为 App 然后转储自动加载,但问题仍然存在。

可能是app/Interfaces/RenderData'app文件夹首字母小写,App\Interfaces'命名空间首字母大写

确保文件夹结构和命名与命名空间匹配。

这是composer最新版本的主要原因。

使用

检查您的作曲家版本
composer -V

使用

安装另一个版本
composer self-update 1.6.3

并从您的项目中删除供应商文件夹。

并使用以下命令:

composer install
composer update
composer dump-autoload

希望它能奏效。