在 php 中返回一个对象会创建该对象的一个新实例吗?
我有一个为我存储对象的类,该类是一个返回任何给定对象的方法。例子;
class Simple {
private $obj = array();
public function loadObj($name) {
$this->obj[$name] = new $name();
}
public function getObj($key) {
if(isset($this->obj[$key])) {
return $this->obj[$key];
}
}
}
然后在我的代码中我可以做这样的事情,
$a = new Simple();
$a->addObj('cat');
$cat1 = $a->getObj('cat');
$cat2 = $a->getObj('cat');
这是否每次都实例化一只新猫?
假设 cat 有一个颜色变量和 and 方法setColor
,getColor
如果我用改变颜色$cat1
并用它来获取它,$cat2
它们会一样吗?
我会测试它,但我不在家。