命名空间引用中的大小写与声明中的大小写不匹配PHP 检查 EA 扩展

问题描述

注意:PHP Inspector EA 扩展版 4.0.6.3

我有一个包含一些现有导入类的新项目,并且为 PHPStorm 提供了 PHP 检查(EA 扩展)插件

命名空间引用中的大小写与声明中的大小写不匹配

PHP 页面上设置命名空间时。然而,这个案例与我能找到的文件路径、类引用和所有使用案例相同

我在搜索这个词时找不到任何有用的参考。

PHP 类:

<?PHP
    namespace myvendorName\ProjectName;
    
    Class AbstractClass {
    
    }

文件路径:

/classes/vendor/myvendorName/ProjectName/AbstractClass.PHP
/classes/vendor/autoloader.PHP
(等)

端点 PHP 文件

<?PHP

use myvendorName\ProjectName\AbstractClass;
$dropValue  = new AbstractClass();

它声称什么是正确的?

PHP 检查 EA Extended 想要将我的类文件中的命名空间调用更改为 namespace myvendorname\ProjectName。它希望将主要供应商名称的大小写降低为全部小写。

然而 Autoloading standard 声明:

    1. 完全限定类名中的字母字符可以是小写和大写的任意组合。

不一致?

文件namespace myvendorName; 的命名空间声明(没有项目子名称)不会对 Inspector 产生任何标志。然而,对于项目名称,它突然想要更改供应商名称前缀的大小写。自动加载器路径需要项目名称,所以.... ?


我查看了整个项目,但找不到任何引用此命名空间的地方,我相信我已经检查并确认了 PHPStorm 和实时服务器上的所有设置和值。

  • 我是不是真的很愚蠢,遗漏了什么?
  • 这是插件的问题吗?

检查员作为其投诉来源的“声明”是什么?

解决方法

找到了。

问题是 PHPStorm 有一个包含路径的“包含路径”列表,在此列表中是一些共享文件的服务器文件夹的路径。

在这个服务器端文件结构中是一个根级别的类,它声明了一个命名空间,它是供应商命名空间的小写重复。

PHP 检查(EA 扩展)检测到这一点,并以某种方式得出结论,服务器共享文件夹中的文件优先于项目特定的 /vendors/ 文件夹。

共享文件夹中的类文件没有被这个项目使用,也没有被这个项目引用,引用完全在PHPStorm的设置中。

删除此引用(实际上,删除对 myvendorname 的错误命名空间调用)可以解决所有这些问题。