search

Home  >  Q&A  >  body text

php类名大小写问题

本地开发时,本地环境对类名不区分大小写,比如:new Dog() 和new dog()是一样的,
但是公司线上对这种是区分的,会报错。
请问这个东东怎么设置,实在php.in里面设置么?

PHP中文网PHP中文网2894 days ago465

reply all(7)I'll reply

  • 高洛峰

    高洛峰2017-04-10 17:37:37

    1.php 中
    类,方法名,函数名不区分大小写
    变量,常量区分大小写
    2.win下目录不区分大小写, Linux 下目录区分

    因此检查下你的代码,是否有目录名称
    ps:强烈建议,统一大小写,不要随性,不然小心被人打死

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 17:37:37

    1、要注意代码规范,要么都大写,要么都小写,建议遵守 PSR 规范
    2、是否区分大小写是跟文件系统有关系的
    简单来说,win、mac 默认的文件系统都是不区分的
    linux 默认的文件系统是区分

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 17:37:37

    @悲惨的大爷 说的对~ 顶一个

    此外,建议代码遵循PSR-1, PSR-2的规范,这样可以直接用php-cs-fixer这个神奇的工具来自动修复代码编码规范。

    参考: https://phphub.org/index.php/topics/547

    reply
    0
  • 阿神

    阿神2017-04-10 17:37:37

    PHP中有个东西叫做PSR规范。

    有了这个规范可以做好多的事情。

    像是什么自动加载了等等。

    因此建议使用规范去命名。

    题主遇到的问题应该是本地开发环境是win的,win的目录是不区分大小写的,因此在自动加载的时候能找到文件。而服务器可能是Linux的,Linux目录是区分大小写的,因此可能找不到了类文件。

    最后再次建议,看一下PSR规范。

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 17:37:37

    这个其实主要是系统的问题,Linux系统上是区分大小写的

    reply
    0
  • 迷茫

    迷茫2017-04-10 17:37:37

    这是规范问题。PHP有些地方不分大小写,但是自己要分。因为Linux目录是分大小写的。

    reply
    0
  • PHPz

    PHPz2017-04-10 17:37:37

    我本地和线上都是linux的 同样出现了这个问题,该如何解释呢

    reply
    0
  • Cancelreply