更改下应用场景吧以便理解,我有一个文件名为(AppName.php),想通过require 'appname.php'去引入它,在Windows系统下没问题,可是Linux下就麻烦了不支持,我想知道这种情况我该如何转换这个未知的大小写问题。
更改下应用场景吧以便理解,我有一个文件名为(AppName.php),想通过require 'appname.php'去引入它,在Windows系统下没问题,可是Linux下就麻烦了不支持,我想知道这种情况我该如何转换这个未知的大小写问题。
appname 是无法转换成AppName的 但是你可以通过app_name来转换的。系统内置是没有的。
小写字母下划线转大写驼峰
ucfirst(preg_replace_callback('/_([a-zA-Z])/', function ($match) {
return strtoupper($match[1]);
}, $str));
大写转小写带下划线 两个大写挨着只转一个
strtolower(trim(preg_replace("/[A-Z]/", "_\\0", str_replace("_","",$str)), "_"));
大写转小写带下划线 两个大写都转
strtolower(trim(preg_replace("/[A-Z]/", "_\\0", str), "_"));
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答669 阅读✓ 已解决
2 回答579 阅读✓ 已解决
谢邀,
appname => AppName
,光从程序应该完全无法判断出来...除非能进行语义分析,但是这种毫无规律,例如我就要取ApPname,那再牛B的逻辑也判断不出来。除非是下面三种情况:不区分大小写,一律转换为大写或者小写。
仅首字母大写,ucfirst就好了。
使用app_name这种有规律的命名法,可以转换成AppName。
======= 看你改了问题,我补充下吧 =======
正常开发都是要严格区分大小写的,不注意大小写的,部署到Linux就会产生问题。虽然可能有配置不区分大小写的方法,但是我觉得区分大小写还是有必要的。
======= 再补充下... =========
如果是mac的话,可以在磁盘管理,设置分区格式为区分大小写。默认是是不区分大小写的。现在开发,都是开了一个新分区(区分大小写),代码相关都放在里面。这样就不容易因为大小写的问题导致错误。或者可以用docker打包一个开发镜像,把代码目录挂载到容器,也不会有大小写的问题。