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

preferences:
24.21 ms | 405 KiB | 5 Q