3v4l.org

run code in 300+ PHP versions simultaneously
<?php class EmailAddress { private $emailAddress; public function __construct($emailAddress) { $this->assertValidEmailAddress($emailAddress); $this->emailAddress = $emailAddress; } private function assertValidEmailAddress($emailAddress) { if (!static::isValid($emailAddress)) { throw new DomainException("Not an email address"); } } public static function isValid($emailAddress) { $length = strlen($emailAddress); $atPos = strpos($emailAddress, "@"); return $length > 2 && $atPos != false && $atPos != 0 && $atPos != $length - 1; } public function __toString() { return $this->emailAddress; } } echo new EmailAddress("a@b"); // if you want to pass it around var_dump(EmailAddress::isValid("a@b")); // if you just want to validate it
Output for git.master, git.master_jit, rfc.property-hooks
a@bbool(true)

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
127.15 ms | 405 KiB | 5 Q