0
次のクラスの$this->test = 'test';
を参照して、古いおなじみの "致命的なエラー:$ thisをオブジェクトコンテキストに使用しないでください"
class Example {
public $test;
public function index() {
$this->test = 'test';
}
}
call_user_func_array(array('example', 'index'), $params);
でクラスメソッドが呼び出されます。私はcall_user_func_array
が何らかの理由でインデックスメソッドを静的なものとして呼び出すと決めたと仮定することができます。 example::index()
?しかし、私はこれのための修正を見つけていないと奇妙なことに私は最近までそれに問題がなかった。
私はオートローディングを利用しています。申し訳ありません。 call_user_func_arrayは、クラスを手動でインスタンス化する必要がないという印象を受けました。これは当てはまりませんか? –
@Riddian Nope。そうではありません。静的呼び出しを実際に実行する方法はありません。 BTW:この動作は、コールバックを取るすべてのPHP関数(['usort'](http://de2.php.net/manual/en/function.usort.phpなど)など)に適用されます。 [擬似型と変数...](http://de2.php.net/manual/en/language.pseudo-types.php#language.types.callback)を参照してください。 –
分かりました。最も役立つありがとう! –