Php 从构造函数检查子类中是否存在函数?
在PHP5.2.1中是否可以这样做Php 从构造函数检查子类中是否存在函数?,php,oop,Php,Oop,在PHP5.2.1中是否可以这样做 abstract class Test { public function __construct() { if (function_exists('init')): $this->init(); } } 如果我尝试这样做,子类上的函数不会被调用?类似于“到底是什么?” 不管怎样,你的语法是完全错误的 public function __construct() { if (function_exi
abstract class Test
{
public function __construct()
{
if (function_exists('init')):
$this->init();
}
}
如果我尝试这样做,子类上的函数不会被调用?类似于“到底是什么?”
不管怎样,你的语法是完全错误的
public function __construct()
{
if (function_exists('init')
{
$this->init();
}
}
您可以使用查看对象是否具有具有给定名称的方法。但是,这不允许您测试该方法采用的参数。由于您正在定义一个抽象类,只需将所需的方法设置为抽象方法即可
abstract class Test {
public function __construct() {
$this->init();
}
abstract protected function init();
}
注意不要多次调用init
,子类会调用其父类的构造函数