gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 21:50:56 27 4
gpt4 key购买 nike

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

经过一些故障排除后发现这是因为 OSx 使用的是不区分大小写的文件系统,而 Linux 使用的是区分大小写的文件系统。因为我的命名空间看起来像这样

App\Service\AuthService

我的路径是这样的

app/service/AuthService.php

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

好的,所以我可以通过重命名所有文件夹和类文件以使用与我的命名空间相同的案例来轻松解决这个问题。但是为了防止将来出现任何意外的大小写不一致,如果 PhpStorm 在我尝试使用时发出警告就好了

use App/Foo/Bar/HelloWorld;

而实际的文件路径是

app/foo/bar/HelloWorld.php

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

最佳答案

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

Case sensitive files in IntelliJ Idea on Mac OSX

我试过了,它确实有效,不仅是命名空间,还有任何不匹配的文件(例如包含、需要)。

但它会在启动时警告您,您说过 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

所以我可能会尝试将它作为一个选项来清除错误,但也许不会一直使用它。

关于php - 让 PhpStorm 对命名空间和路径执行区分大小写的一致性检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42513467/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com