我正在尝试创建一个初始化函数,它将调用类中的多个函数,最终结果的一个简单示例如下:
$foo = new bar;
$foo->call('funca, do_taxes, initb');
Run Code Online (Sandbox Code Playgroud)
这通常会使用call_user_func函数正常工作,但我真正想做的就是在类中执行此操作,我不知道如何执行此操作,我的非工作代码的快速示例如下:
class bar {
public function call($funcs) {
$funcarray = explode(', ', $funcs);
foreach($funcarray as $func) {
call_user_func("$this->$func"); //???
}
}
private function do_taxes() {
//...
}
}
Run Code Online (Sandbox Code Playgroud)
我如何调用动态类函数?
它实际上比你想象的要简单得多,因为PHP允许变量变量(以及变量对象成员名称):
foreach($funcarray as $func) {
$this->$func();
}
Run Code Online (Sandbox Code Playgroud)