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

Alb*_*r3s 5 php phar laravel composer-php

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

<?php

namespace App\Interfaces;

use Illuminate\View\View;

interface renderData
{
        public function renderAsHtml(): View;
}
Run Code Online (Sandbox Code Playgroud)

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

弃用通知:位于 ./app/Interfaces/RenderData.php 的类 App\Interfaces\renderData 不符合 psr-4 自动加载标准。它不会再在 Composer v2.0 中自动加载。

composer.json 自动加载部分:

    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
     },
Run Code Online (Sandbox Code Playgroud)

文件夹结构为:

<root_project>
 app
 Console
 ...
Run Code Online (Sandbox Code Playgroud)

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

小智 9

可能是“app”文件夹的第一个字母在 app/Interfaces/RenderData 中为小写,但在命名空间中为大写,在 'App\Interfaces' 中。

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


Mah*_*abu 5

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

使用检查您的作曲家版本

composer -V
Run Code Online (Sandbox Code Playgroud)

使用安装另一个版本

composer self-update 1.6.3
Run Code Online (Sandbox Code Playgroud)

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

并使用以下命令:

composer install
composer update
composer dump-autoload
Run Code Online (Sandbox Code Playgroud)

希望它能起作用。