annotate vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.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\Validation;
Chris@18 4
Chris@18 5 use Egulias\EmailValidator\EmailLexer;
Chris@18 6 use Egulias\EmailValidator\EmailParser;
Chris@18 7 use Egulias\EmailValidator\Exception\InvalidEmail;
Chris@18 8
Chris@18 9 class RFCValidation implements EmailValidation
Chris@18 10 {
Chris@18 11 /**
Chris@18 12 * @var EmailParser
Chris@18 13 */
Chris@18 14 private $parser;
Chris@18 15
Chris@18 16 /**
Chris@18 17 * @var array
Chris@18 18 */
Chris@18 19 private $warnings = [];
Chris@18 20
Chris@18 21 /**
Chris@18 22 * @var InvalidEmail
Chris@18 23 */
Chris@18 24 private $error;
Chris@18 25
Chris@18 26 public function isValid($email, EmailLexer $emailLexer)
Chris@18 27 {
Chris@18 28 $this->parser = new EmailParser($emailLexer);
Chris@18 29 try {
Chris@18 30 $this->parser->parse((string)$email);
Chris@18 31 } catch (InvalidEmail $invalid) {
Chris@18 32 $this->error = $invalid;
Chris@18 33 return false;
Chris@18 34 }
Chris@18 35
Chris@18 36 $this->warnings = $this->parser->getWarnings();
Chris@18 37 return true;
Chris@18 38 }
Chris@18 39
Chris@18 40 public function getError()
Chris@18 41 {
Chris@18 42 return $this->error;
Chris@18 43 }
Chris@18 44
Chris@18 45 public function getWarnings()
Chris@18 46 {
Chris@18 47 return $this->warnings;
Chris@18 48 }
Chris@18 49 }