如何解决Laravel 8中的psr-4错误?

如何解决Laravel 8中的psr-4错误?,laravel,composer-php,Laravel,Composer Php,在Laravel 8中,我使用标准结构: 请求看起来很标准: <?php namespace App\Http\Requests\Api\Category; use Illuminate\Foundation\Http\FormRequest; class StoreCategoryRequest extends FormRequest { public function authorize() { return true; } p

在Laravel 8中,我使用标准结构:

请求看起来很标准:

<?php

namespace App\Http\Requests\Api\Category;

use Illuminate\Foundation\Http\FormRequest;

class StoreCategoryRequest extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'name' => 'required|unique:categories,name'
        ];
    }
}

我也有同样的问题,结果我在复制文件时忘记更改类名。确保这10个文件都有唯一的类名。我没有看到你的代码有任何其他问题,名称空间应该是App

更新:

错误消息显示:

Class App\Http\Requests\Api\Category\StoreCategoryRequest
located in ./app/Http/Requests/Api/Group/StoreCategoryRequest.php
does not comply with psr-4 autoloading standard. Skipping.

如果您查看它,您可以看到StoreCategoryRequest位于“Category”命名空间中,但位于文件夹名“Group”中。我猜您的意思是运行了
composer dump autoload
(注意连字符)。您向我们显示了
\Api\Category
文件,但错误是关于
Api\Group
文件。我们可以看到吗(以及文件名)?屏幕截图中的错误和路径不匹配。您正在查看错误的文件。你需要检查
/app/Http/Requests/Api/Group/
。我会全部检查,没有错误。但是在
composer dump autoload
之后,我发现报告的名称空间是错误的:
/app/Http/Controllers/Api/Group/CategoryController.php
而不是
/app/Http/Controllers/Api/Group/GroupController.php
!我清理了缓存,再次上传了
composer.json
文件,但没有区别。我可以在错误消息中看到区别。但如主要问题所示,名称空间是可以的,但编写器正在混合名称空间。我复制了文件并更改了所有名称空间。composer是否缓存了一些信息?我认为这不会有帮助,但请尝试
composer update
,但它会更新所有软件包。没有作曲家不缓存。我相信你最终会发现你犯的错误。我建议您反复查看这些文件。如果我在本地安装上运行
composer dumpautoload
,一切正常……我发现了错误:我使用自动上载。当我复制文件时,它立即被上传。然后我改变了文件名,这也被上传了。但是,由于文件名不同,它不会覆盖第一个文件。。。对不起