PhpStorm 警告不正确的命名空间

PhpStorm warns about incorrect namespaces

提问人:Ray 提问时间:4/12/2023 最后编辑:LazyOneRay 更新时间:4/13/2023 访问量:379

问:

我习惯于使用 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 建议“命名空间名称与 PSR-0/PSR-4 项目结构不匹配”,并建议将类从其当前位置移动到 。app/App/Modelsapp/Models

这就是我感到困惑的地方。我假设 PSR 自动加载有效地将根目录设置为根文件夹 - 这是正确的吗?Appapp

我已经做了一个,但仍然出现IDE错误 - 该应用程序似乎正在工作,所以这是PhpStorm设置问题吗?composer dump autoload

回顾一个较旧的 Laravel 项目,应用程序的 PSR-4 条目没有功能。

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

PHP Laravel 命名空间 phpstorm

评论

0赞 aynber 4/12/2023
您的自动加载中有部分吗?或者这是您的完整自动加载部分?classmap
0赞 stefket 4/12/2023
我遇到了类似的问题,在运行“使缓存无效...”(在 PHPStorm 的文件菜单下查找)问题已解决。
3赞 LazyOne 4/12/2023
1)使用,重新启动IDE,让它重新索引你的项目 -- 有更好的吗?2)展示你所拥有的 - 对你的源根感兴趣。使用默认设置时,IDE 会将命名空间映射与 composer.json 同步(后者是源)。File | Invalidate Caches...Settings/Preferences | Directories
0赞 PiTheNumber 4/13/2023
composer.json和命名空间都很好。一定是 PHPStrom 问题。有人应该发布“使缓存无效”作为答案。

答: 暂无答案