この例を見てください。私はこのような行動に気づきませんでした:
class foo
{
public $foo = 0;
public function addFoo()
{
$this->foo = $this->foo + 1;
return $this;
}
}
$bar = new foo;
$a = $bar;
$b = $bar->addFoo();
$c = $bar->addFoo();
スクリプトが完了した後、次のように想定しました。
$a->foo は: 0
$b->foo は: 1
$c->foo は: 2
しかし、そうではありません。私は得る:
$a->foo は: 2
$b->foo は: 2
$c->foo は: 2
$a->foo が 2 である理由がわかりません。これはポインターではなく、変更されることはありません。
おそらく誰かが、これがカバーされている PHP のドキュメントへのリンクを説明したり、表示したりできます。
ありがとうございました。