私は次のように単純化された方法を持っています:
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
呼び出されたメソッドで引き続き使用できるようにするには、どうすればよいですか?