类名 PHP 中的大写字母

2022-08-30 18:01:51

我的系统中有两个类。一个称为文件,第二个称为文件。在我的本地主机上,当我实例化文件时,我得到文件对象,但我的朋友运行相同的脚本得到文件的对象,如大写字母无法识别,“文件”等于“文件”。这是一些可配置的东西吗?我们都在Windows上运行。我有WampServer,他有XAMPP。


答案 1

PHP 对于类命名不区分大小写。这意味着即使类已命名,您通常也可以这样做,反之亦然。$file = new file()File

您是否有机会依靠类文件的自动加载?如果是这种情况,根据计算机的不同,解释器可能并不总是首先找到相同的文件。这将解释问题。

我强烈建议您重命名您的类。依靠大小写来区分两个不同的东西总是一个坏主意,按照惯例,类名总是以大写字母开头。

如果你不能改变类名,我建议看看php命名空间


答案 2

PHP 中的类名不区分大小写(这不依赖于操作系统)

class myclass {}

$x = new MYclaSS;

var_dump($x);

object(myclass)#1 (0) {
}

所以作为一般建议:你不应该开始并试图在那里混合一些东西:)

像这样的代码应该不起作用

class ab {}

class AB {}

Fatal error: Cannot redeclare class AB in ... on line x

推荐