1
ではありません。カスタムイベント管理を構築しようとしています。 しかし、何か助けが必要です。私は次のコードを確認してください。PHPオブジェクトがcall_user_func_arrayを呼び出した後に変更されましたが、変数が
class A
{
public $a = array();
public function setA($value)
{
$this->a[] = $value;
}
}
class B
{
public function hook($arg)
{
$arg->setA('5');
}
public function hook2($arg)
{
$arg[] = 'my name';
}
}
$a = new A();
call_user_func_array(array(new B, 'hook'), array($a));
var_dump($a->a);
$name = array();
call_user_func_array(array(new B, 'hook2'), array($name));
var_dump($name);
をここに私は私のsceeenに表示されるものです。
array (size=1)
0 => string '5' (length=1)
array (size=0)
empty
あなたが変更されますが、配列$名ではありませんされたオブジェクトを見ることができます。私はcall_user_func_arrayに値を渡しました。
私はそれによって混乱しています。それはどのように動作するのですか?
はそんなに
おかげフェデリコでそれを呼び出す私はリファレンスとして配列を渡す方法を知っています。しかし、私はなぜオブジェクトは常に参照渡しを理解していないのですか? – Thelearning