是否可以在PHP 5.2.1中执行类似的操作?
abstract class Test
{
public function __construct()
{
if (function_exists('init')):
$this->init();
}
}
如果我试试这个,那么子类上的函数不会被调用?
答案 0 :(得分:1)
您可以使用method_exists
查看对象是否具有给定名称的方法。但是,这不允许您测试该方法采用的参数。由于您要定义一个抽象类,只需将所需方法设为抽象方法即可。
abstract class Test {
public function __construct() {
$this->init();
}
abstract protected function init();
}
请注意,不要多次调用init
,子类会调用父项的构造函数。
答案 1 :(得分:0)
“类似于”究竟是什么?
无论如何,你的语法是完全错误的......
public function __construct()
{
if (function_exists('init')
{
$this->init();
}
}