我有以下课程:
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 实例?