3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* ############################################################################################### #############################classes.php####################################################### ############################################################################################## */ class EmailAddress { private $emailAddress; public function getEmailAddress() { return $this->emailAddress; } public function setEmailAddress($mail) { $this->emailAddress = $mail; } } class AddressDisplay { private $addressType; private $addressText; public function getAddressType() { return $this->addressType; } public function setAddressType($type) { $this->addressType = $type; } public function getAddressText() { return $this->addressText; } public function setAddressText($mail) { $this->addressText = $mail; } } class EmailAddressDisplayAdapter extends AddressDisplay { public function __construct($mail) { $this->setAddressType('Email'); $this->setAddressText($mail->getEmailAddress()); } } /* ############################################################################################### ############################index.php######################################################## ############################################################################################## */ echo "<ol>"; echo "<li><p>\$email = new EmailAddress()</p></li>"; $email = new EmailAddress(); echo "<li><p>\$email->setEmailAddress('trueline.chirag@gmail.com')</p></li>"; $email->setEmailAddress('trueline.chirag@gmail.com'); echo "<li><p>\$address = new EmailAddressDisplayAdapter(\$email)</p></li>"; $address = new EmailAddressDisplayAdapter($email); echo "<li><p>printing \$address->getAddressType()::</p></li>"; echo "<ul>"; echo "<li><p>".$address->getAddressType()."</p></li>"; echo "</ul>"; echo "<li><p>printing \$address->getAddressText()::</p></li>"; echo "<ul>"; echo "<li><p>".$address->getAddressText()."</p></li>"; echo "</ul>"; echo "</ol>";
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
<ol><li><p>$email = new EmailAddress()</p></li><li><p>$email->setEmailAddress('trueline.chirag@gmail.com')</p></li><li><p>$address = new EmailAddressDisplayAdapter($email)</p></li><li><p>printing $address->getAddressType()::</p></li><ul><li><p>Email</p></li></ul><li><p>printing $address->getAddressText()::</p></li><ul><li><p>trueline.chirag@gmail.com</p></li></ul></ol>
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 <ol><li><p>$email = new EmailAddress()</p></li><li><p>$email->setEmailAddress('trueline.chirag@gmail.com')</p></li><li><p>$address = new EmailAddressDisplayAdapter($email)</p></li><li><p>printing $address->getAddressType()::</p></li><ul><li><p>Email</p></li></ul><li><p>printing $address->getAddressText()::</p></li><ul><li><p>trueline.chirag@gmail.com</p></li></ul></ol>

preferences:
134.88 ms | 402 KiB | 156 Q