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');
これは毎回新しい猫をインスタンス化しますか?
猫が色と方法の変数を持っていたsetColor
としましょう。getColor
私が色を変更し$cat1
てフェッチした場合、$cat2
それらは同じでしょうか?
私はそれをテストしますが、私は家にいません。