annotate vendor/egulias/email-validator/EmailValidator/EmailValidator.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@18 1 <?php
Chris@18 2
Chris@18 3 namespace Egulias\EmailValidator;
Chris@18 4
Chris@18 5 use Egulias\EmailValidator\Exception\InvalidEmail;
Chris@18 6 use Egulias\EmailValidator\Validation\EmailValidation;
Chris@18 7
Chris@18 8 class EmailValidator
Chris@18 9 {
Chris@18 10 /**
Chris@18 11 * @var EmailLexer
Chris@18 12 */
Chris@18 13 private $lexer;
Chris@18 14
Chris@18 15 /**
Chris@18 16 * @var array
Chris@18 17 */
Chris@18 18 protected $warnings;
Chris@18 19
Chris@18 20 /**
Chris@18 21 * @var InvalidEmail
Chris@18 22 */
Chris@18 23 protected $error;
Chris@18 24
Chris@18 25 public function __construct()
Chris@18 26 {
Chris@18 27 $this->lexer = new EmailLexer();
Chris@18 28 }
Chris@18 29
Chris@18 30 /**
Chris@18 31 * @param $email
Chris@18 32 * @param EmailValidation $emailValidation
Chris@18 33 * @return bool
Chris@18 34 */
Chris@18 35 public function isValid($email, EmailValidation $emailValidation)
Chris@18 36 {
Chris@18 37 $isValid = $emailValidation->isValid($email, $this->lexer);
Chris@18 38 $this->warnings = $emailValidation->getWarnings();
Chris@18 39 $this->error = $emailValidation->getError();
Chris@18 40
Chris@18 41 return $isValid;
Chris@18 42 }
Chris@18 43
Chris@18 44 /**
Chris@18 45 * @return boolean
Chris@18 46 */
Chris@18 47 public function hasWarnings()
Chris@18 48 {
Chris@18 49 return !empty($this->warnings);
Chris@18 50 }
Chris@18 51
Chris@18 52 /**
Chris@18 53 * @return array
Chris@18 54 */
Chris@18 55 public function getWarnings()
Chris@18 56 {
Chris@18 57 return $this->warnings;
Chris@18 58 }
Chris@18 59
Chris@18 60 /**
Chris@18 61 * @return InvalidEmail
Chris@18 62 */
Chris@18 63 public function getError()
Chris@18 64 {
Chris@18 65 return $this->error;
Chris@18 66 }
Chris@18 67 }