是否让PhpStorm对命名空间和路径执行区分大小写的一致性检查?

btqmn9zl  于 2022-09-20  发布在  PHP
关注(0)|答案(2)|浏览(160)

我正在使用OSX上的PhpStorm开发一个Web应用程序。我正在使用Composer,并在composer.json中配置了PSR-4自动加载。在我的开发机器上一切正常,但是当我上传到运行Linux的生产服务器时,自动加载中断。

经过一些故障排除后发现,这是因为OSX使用不区分大小写的文件系统,而Linux使用区分大小写的文件系统。由于我的命名空间如下所示

AppServiceAuthService

当我的道路看起来是这样的

app/service/AuthService.php

自动加载程序在Linux上找不到service文件夹,因为它正在查找Service(大写为S)。

好的,所以我可以很容易地解决这个问题,只需重命名所有文件夹和类文件,以使用与我的命名空间相同的大小写。但为了防止将来出现意外的大小写不一致,如果PhpStorm能在我尝试使用时警告我就好了

use App/Foo/Bar/HelloWorld;

而实际的文件路径是

app/foo/bar/HelloWorld.php

有没有这样一种设置可以让PhpStorm自动检查这一点,即使我在具有不区分大小写的文件系统的机器上进行开发?

ep6jt1vc

ep6jt1vc1#

这个等价的Java问题得到了答案,它使用较低级别的技术重新配置IDE,将文件系统视为区分大小写。

Case sensitive files in IntelliJ Idea on Mac OSX

我试过了,它确实起作用了,不仅是名称空间,还有任何不匹配的文件(例如,Includes、Requires)。

但它会在引导时警告您,您已经说过FS区分大小写,并链接到this article,其中有一些关于错误使用此设置的警告/警告。

  • PHPStorm:帮助>编辑自定义属性
  • 创建idea.properties文件(如果出现提示)
  • 添加idea.case.sensitive.fs=true
  • 重新启动IDE

您可能会看到:

Filesystem Case-Sensitivity Mismatch
    The project seems to be located on a case-insensitive file system.
    This does not match the IDE setting (controlled by property "idea.case.sensitive.fs")
    More details. (show balloon)
https://confluence.jetbrains.com/display/IDEADEV/Filesystem+Case-Sensitivity+Mismatch

因此,我可能会尝试将其作为一个选项来扫除错误,但可能不会一直使用它。

8aqjt8rx

8aqjt8rx2#

PHPStorm为其提供了代码检查提示:

1.转到首选项|编辑器|检查
1.选择部分PHP|代码样式
1.打开选项Case mismatch in method call or class usage.

它将突出显示所有输入错误的类名。

相关问题