__clone makes it deep
The same users, but User now has a __clone method.
<?phpclass Address{ public function __construct(public string $city) {}}class User{ public function __construct(public string $name, public Address $address) {} public function __clone(): void { $this->address = clone $this->address; }}$u1 = new User('Ann', new Address('Oslo'));$u2 = clone $u1;$u2->address->city = 'Rome';echo $u1->name, ' ', $u1->address->city, PHP_EOL;echo $u2->name, ' ', $u2->address->city, PHP_EOL;1. Predict the output
Tap the lines in the order you think they print.
- 1…
- 2…