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

时间:2015-12-07 08:17:13

标签: php phpstorm

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

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

由于

4 个答案:

答案 0 :(得分:9)

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

设置 - >编辑 - >检查 - > PHP - >未定义 - >未定义的课程

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

答案 1 :(得分:3)

可以将目录标记为排除,因此PHPStorm只会隐藏它并停止索引文件,因此没有警告。 但与此同时,无法查看(阅读)该文件。

/installer中右键单击目录(在您的案例中为Project pane)并选择Mark Directory As -> Excluded

答案 2 :(得分:1)

您可以右键单击Project Explorer中的文件并将其标记为"纯文本",因此这些类不会被解释为源代码。

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

答案 3 :(得分:0)

您可以删除重复声明的库

设置 -> 语言和框架 -> PHP -> 包含路径

See image