class Person {
// ... everything from before
public function __clone() {
//$this->address --- <b>это объект</b>
$this->address = clone $this->address;
}
}
$this->address = clone $this->address;
$person1 = new Person;
//Например $person1->address это объект со свойством id = 1
$person2 = clone $person1;
//Устанавливаем свойство id для объекта $person2->address
$person2->address->id = 2;
echo $person1->address->id; //выведет 1
echo $person2->address->id; //выведет 2
$person1 = new Person;
//Например $person1->address это объект со свойством id = 1
$person2 = clone $person1;
//Устанавливаем свойство id для объекта $person2->address
$person2->address->id = 2;
echo $person1->address->id; //выведет 2
echo $person2->address->id; //выведет 2
$person = new Person();
$person->address->a = 1;
$personClone = clone $person;
$person->address->a = 2; // обновляем через первый объект person
echo $personClone->address->a; // 2 - клон тоже обновил, так как они ссылают на один объект
class Person {
public function __clone() {
$this->address = clone $this->address;
}
}
$original = new Person();
$clone = clone $original;