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それらは同じでしょうか?
私はそれをテストしますが、私は家にいません。