扫码关注官方订阅号
更改下应用场景吧以便理解,我有一个文件名为(AppName.php),想通过require 'appname.php'去引入它,在Windows系统下没问题,可是Linux下就麻烦了不支持,我想知道这种情况我该如何转换这个未知的大小写问题。
欢迎选择我的课程,让我们一起见证您的进步~~
谢邀, appname => AppName,光从程序应该完全无法判断出来...除非能进行语义分析,但是这种毫无规律,例如我就要取ApPname,那再牛B的逻辑也判断不出来。除非是下面三种情况:
appname => AppName
不区分大小写,一律转换为大写或者小写。
仅首字母大写,ucfirst就好了。
使用app_name这种有规律的命名法,可以转换成AppName。
======= 看你改了问题,我补充下吧 =======
正常开发都是要严格区分大小写的,不注意大小写的,部署到Linux就会产生问题。虽然可能有配置不区分大小写的方法,但是我觉得区分大小写还是有必要的。
======= 再补充下... =========
如果是mac的话,可以在磁盘管理,设置分区格式为区分大小写。默认是是不区分大小写的。现在开发,都是开了一个新分区(区分大小写),代码相关都放在里面。这样就不容易因为大小写的问题导致错误。或者可以用docker打包一个开发镜像,把代码目录挂载到容器,也不会有大小写的问题。
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), "_"));
严格遵循大小写
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
谢邀,
appname => AppName,光从程序应该完全无法判断出来...除非能进行语义分析,但是这种毫无规律,例如我就要取ApPname,那再牛B的逻辑也判断不出来。除非是下面三种情况:不区分大小写,一律转换为大写或者小写。
仅首字母大写,ucfirst就好了。
使用app_name这种有规律的命名法,可以转换成AppName。
======= 看你改了问题,我补充下吧 =======
正常开发都是要严格区分大小写的,不注意大小写的,部署到Linux就会产生问题。虽然可能有配置不区分大小写的方法,但是我觉得区分大小写还是有必要的。
======= 再补充下... =========
如果是mac的话,可以在磁盘管理,设置分区格式为区分大小写。默认是是不区分大小写的。现在开发,都是开了一个新分区(区分大小写),代码相关都放在里面。这样就不容易因为大小写的问题导致错误。或者可以用docker打包一个开发镜像,把代码目录挂载到容器,也不会有大小写的问题。
appname 是无法转换成AppName的 但是你可以通过app_name来转换的。系统内置是没有的。
小写字母下划线转大写驼峰
大写转小写带下划线 两个大写挨着只转一个
大写转小写带下划线 两个大写都转
严格遵循大小写