Laravel 不正确的命名空间和 PSR 4

问题描述 投票:0回答:0

我习惯于使用 Laravel,但在基于 Laravel 10 并使用 PHPstorm 作为我的 ide 的新项目中对命名空间有点困惑。

composer.json
文件中,默认自动加载已设置为:

"autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },

在我的用户模型中,我的 IDE 抛出了命名空间不正确的错误。命名空间是用户模型的默认命名空间:

namespace App\Models;

IDE建议

Namespace name doesn't match the PSR-0/PSR-4 project structure 
并建议将班级从当前位置
app/App/Models
移至
app/Models

所以-这就是我感到困惑的地方。我假设 PSR 自动加载有效地将

App
的根设置为
app
的根文件夹 - 这是正确的吗?

我已经完成了 composer dump autoload 但 IDE 错误仍然出现 - 该应用程序似乎正在运行所以这是 PHPStorm 设置问题吗?

回顾一个较早的 Laravel 项目,应用程序的 PSR4 条目没有特色。

如何解决并确保命名空间正确? (或更改 IDE 中的设置)

谢谢

php laravel namespaces
© www.soinside.com 2019 - 2024. All rights reserved.