3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Email { public function __construct( public string $value ) {} } class Message { public function __construct( private Email $recipient ) {} public function recipient(): Email { return $this->recipient; } } $address = new Email('foo@bar.com'); $message = new Message($address); var_dump($message); $message->recipient()->value = 'oops'; var_dump($message);

preferences:
24.51 ms | 404 KiB | 5 Q