正确处理PHPStorm的"课堂存在多种定义"

tia*_*sag 7 php phpstorm

我目前正在开发一个使用composer管理第三方依赖项的PHP项目.该项目有一个/installer子项目,顾名思义,它包含一个小工具,用于处理"主"项目的安装和初始配置.该installer工具还使用composer来处理它的依赖项,这些依赖项与主项目的libs分开.

为方便起见,这两个项目进入同一个git项目,并在同一个PHPStorm项目中.由于两个项目的依赖关系有时会重叠,我经常会得到一个"类的多个定义"警告.虽然这既不是意料之外也不是主要问题,但我想知道是否真的有办法告诉PHPStorm"嘿,把所有内容/installer视为一个独立的项目,并且不要与外部范围交叉检查类".

谢谢

Kir*_*voy 10

您可以禁用此检查(至少适用于PHPStorm 9.0或更高版本):

设置 - >编辑器 - >检查 - > PHP - >未定义 - >未定义的类

取消选中选项(右下角) - >不报告多个类声明可能存在的问题

  • 禁用诊断而不是处理它们是一种有害的错误解决方案. (7认同)

小智 5

可以将目录标记为Excluded,因此 PHPStorm 只会隐藏它并停止其中的索引文件,因此不会发出警告。但与此同时,将无法查看(读取)这些文件。

右键单击目录(在您的情况下/installerProject pane并选择Mark Directory As -> Excluded

  • @tiagojsag:您可以将它们作为单独的项目打开 - 有了这个,每个项目都有自己的设置,因此它们不会相互干扰。 (2认同)

Wol*_*sen 5

您可以右键单击项目资源管理器中的文件并将它们标记为“纯文本”,这样这些类就不会被解释为源代码。

更好的方法:使用命名空间