我正在使用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自动检查这一点,即使我在具有不区分大小写的文件系统的机器上进行开发?
2条答案
按热度按时间ep6jt1vc1#
这个等价的Java问题得到了答案,它使用较低级别的技术重新配置IDE,将文件系统视为区分大小写。
Case sensitive files in IntelliJ Idea on Mac OSX
我试过了,它确实起作用了,不仅是名称空间,还有任何不匹配的文件(例如,Includes、Requires)。
但它会在引导时警告您,您已经说过FS区分大小写,并链接到this article,其中有一些关于错误使用此设置的警告/警告。
idea.case.sensitive.fs=true
您可能会看到:
因此,我可能会尝试将其作为一个选项来扫除错误,但可能不会一直使用它。
8aqjt8rx2#
PHPStorm为其提供了代码检查提示:
1.转到首选项|编辑器|检查
1.选择部分PHP|代码样式
1.打开选项
Case mismatch in method call or class usage.
它将突出显示所有输入错误的类名。