私は次のクラスを持っています:
class DB {
private $name;
public function load($name) {
$this->name = $name;
return $this;
}
public function get() {
return $this->name;
}
}
現時点で私が行う場合:
$db = new DB();
echo $db->load('foo')->get() . "<br>";
echo $db->load('fum')->get() . "<br>";
これにより、「foo」、「fum」の順に出力されます。
ただし、これを行うと:
$db = new DB();
$foo = $db->load('foo');
$fum = $db->load('fum');
echo $foo->get() . "<br>";
echo $fum->get() . "<br>";
常に「fum」を出力します。
なぜそうするのかはある程度わかりますが、DBの新しいインスタンスを作成せずに、変数を各インスタンスに個別に保持するにはどうすればよいでしょうか?