为什么这段代码会打印“AA”,如果我将我的班级名称命名为我的班级。
class A{
public function a() {
echo 'A';
}
}
$a = new A();
$a->a(); // AA
谢谢!
答案 0 :(得分:0)
这是因为,您的每一行都会调用a()
,因为它以类命名,它用作类A
的构造函数。< / p>
通常你会使用__construct
- 函数作为构造函数,但由于没有函数调用__construct
,因此将调用以类命名的函数。实际上你的输出看起来像是:
$a = new A(); // A
$a->a(); // A
累积到输出AA
为了向后兼容PHP 3和4,如果PHP找不到给定类的__construct()函数,并且该类没有从父类继承它,它将搜索旧式构造函数,这个班的名字。
答案 1 :(得分:-1)
一旦声明函数a()
,构造函数就会自动调用