为什么即使类和构造函数的情况不同,我的构造函数仍然被调用?

Gha*_*Mir 4 php constructor

我很惊讶为什么在我们有不同的类和构造函数名称时调用构造函数.构造函数名称以小"r"开头?

class Registration{

    function registration(){
        echo "Constructor is called.";
    }
}

$obj = new Registration();
//$obj->registration();
Run Code Online (Sandbox Code Playgroud)

输出: 调用构造函数.

修改: 这种不区分大小写的行为是否依赖于我们正在使用的php版本?

phi*_*hag 7

在php中,所有函数名称都不区分大小写.

顺便说一句,你应该切换到新风格__construct.构造函数作为具有类名称的函数是历史工件.

  • 出于兼容性原因,类似于类的方法被认为是构造函数. (2认同)

use*_*291 7

php不区分大小写(有时).以下也适用:

CLASS REGISTRATION {

    FUNCTION reGISTration(){
        ECHO "constructor is called.";
    }
}

$obj = NEW Registration();
Run Code Online (Sandbox Code Playgroud)