PhpStorm 告诉我:"Namespace name doesn't match PSR 0/PSR 4 project structure"
PhpStorm tells me: "Namespace name doesn't match PSR 0/PSR 4 project structure"
我正在使用 Laravel 5.0,一切正常。
但是,我不断收到这些警告消息。我查看了 JetBrains 文档,但我仍然对如何处理它一头雾水。
本质上,我担心如果我允许 PhpStorm 自动 运行 "Detect PSR0 Namespace Roots" 那么它可能会破坏我的代码/项目。
不确定发生了什么,我该怎么办?
PSR-0 只是构建您的 PHP 项目的约定。当 PHPStorm 要求自动 "Detect PSR0 Namespace Roots" 时,它会检查哪些 类 将被自动加载,以便它可以在您编写代码时执行正确的自动完成。
它不会影响您的代码,但可能会改善您的编码体验。
如果您使用 composer
,与 composer
同步的较新答案是更好的选择。
PSR-4 命名空间根可以指定一个可以配置的前缀。
过程如下:
- 找到你的命名空间的根,例如
src
.
- 右键单击 将目录标记为根目录。
- 菜单 -> 文件 -> 设置 -> 目录。
- 单击源根旁边的铅笔图标或 p^。
- 输入命名空间前缀。
比上一个答案更简单:
转到设置 windows:语言和框架 -> PHP -> Composer,然后启用 IDE 设置与 composer.json 同步以加载PSR-0 & PSR-4 设置。
PS:PhpStorm 2020.3.2(构建号PS-203.7148.74,构建于 2021 年 1 月 27 日)
希望对大家有用!
我正在使用 Laravel 5.0,一切正常。
但是,我不断收到这些警告消息。我查看了 JetBrains 文档,但我仍然对如何处理它一头雾水。
本质上,我担心如果我允许 PhpStorm 自动 运行 "Detect PSR0 Namespace Roots" 那么它可能会破坏我的代码/项目。
不确定发生了什么,我该怎么办?
PSR-0 只是构建您的 PHP 项目的约定。当 PHPStorm 要求自动 "Detect PSR0 Namespace Roots" 时,它会检查哪些 类 将被自动加载,以便它可以在您编写代码时执行正确的自动完成。
它不会影响您的代码,但可能会改善您的编码体验。
如果您使用 composer
,与 composer
同步的较新答案是更好的选择。
PSR-4 命名空间根可以指定一个可以配置的前缀。
过程如下:
- 找到你的命名空间的根,例如
src
. - 右键单击 将目录标记为根目录。
- 菜单 -> 文件 -> 设置 -> 目录。
- 单击源根旁边的铅笔图标或 p^。
- 输入命名空间前缀。
比上一个答案更简单:
转到设置 windows:语言和框架 -> PHP -> Composer,然后启用 IDE 设置与 composer.json 同步以加载PSR-0 & PSR-4 设置。
PS:PhpStorm 2020.3.2(构建号PS-203.7148.74,构建于 2021 年 1 月 27 日)
希望对大家有用!