我有一个代码片段
<?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()函数,而该类没有从父类,它将搜索旧式的构造函数,根据类的名称。