PhpStorm 告诉我:“命名空间名称与 PSR 0/PSR 4 项目结构不匹配”

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

我正在使用 Laravel 5.0,一切正常。

但是,我不断收到这些警告消息。我已经查看了 JetBrains 文档,但我仍然有点不清楚该怎么办。

本质上,我担心如果我允许 PhpStorm 自动运行“检测 PSR0 命名空间根”,那么它可能会破坏我的代码/项目。

不确定发生了什么事,我该怎么办?

phpstorm
5个回答
88
投票

如果您使用

composer
composer
同步的最新答案是更好的选择。


PSR-4命名空间根可以指定可配置的前缀。

流程如下:

  1. 找到命名空间的根,例如
    src
  2. 右键单击将目录标记为源根目录。
  3. 菜单 -> 文件 -> 设置 -> 目录。
  4. 单击“源根”旁边的铅笔图标或 p^。
  5. 输入命名空间前缀。

请参阅 PHPStorm 配置 PHP 命名空间


64
投票

比最后的答案更容易:

转到“设置”窗口:“语言和框架”->“PHP”->“Composer”,然后启用“将 IDE 设置与composer.json 同步”以加载 PSR-0 和 PSR-4 设置。

PS:PhpStorm 2020.3.2(内部版本#PS-203.7148.74,建于2021年1月27日)

希望对大家有用!


4
投票

除了 Mexidense 之外,还有很好的答案
正如我所经历的那样,如果您已经激活了同步,则可能会出现该警告。
停用同步,应用并重新激活它(并应用


0
投票

在使用新的 Composer 安装将我的 Symfony 4 升级到 Symfony 5 后,我突然收到此警告。

为我解决这个问题的是 PHPStorm 中的简单缓存重置:

文件 -> 使缓存失效 -> 失效并重新启动


-4
投票

PSR-0 只是构建 PHP 项目的约定。当 PHPStorm 要求自动“检测 PSR0 命名空间根”时,它会检查将自动加载哪些类,以便在您编写代码时执行正确的自动完成。

它不会影响您的代码,但可能会改善您的编码体验。

© www.soinside.com 2019 - 2024. All rights reserved.