我有一个方法,简化如下:
class Foo {
public function bar($id) {
// do stuff using $this, error occurs here
}
}
像这样称呼它效果很好:
$foo = new Foo();
$foo->bar(1);
但是,如果我使用 调用它call_user_func_array()
,如下所示:
call_user_func_array(array("Foo", "bar"), array('id' => 1));
应该相等,我收到以下错误:
致命错误:不在对象上下文中时使用 $this
($this
未定义)
为什么是这样?有什么我想念的吗?我应该如何做到这一点,以便我仍然可以$this
在被调用的方法中使用?