overriden方法被调用两次


overriden method getting called twice

我有一个代码片段

<?php
abstract class Testing{
    public abstract function tester();
    public function testing(){
        $this->tester();
    }
}
class Test extends Testing{
    public function tester(){
        echo 'test';
    }
}
$t = new Test();
$t->testing();

我应该有一个输出test,但我得到的输出是testtest
为什么tester()被调用两次?

Videone 的参考链接

PHP脚本语言不区分大小写(不适用于变量

由于child类没有任何构造函数,父类构造函数将被激发。

当你这样做的时候。。

$t = new Test();

父类构造函数被激发,它是public function testing(),(请查看类的名称是否匹配

PHP文档。。

为了向后兼容性,如果PHP 5找不到__construct()函数,而该类没有从父类,它将搜索旧式的构造函数,根据类的名称。