Revision 148 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace Egulias\EmailValidator\Validation;use Egulias\EmailValidator\EmailLexer;use Egulias\EmailValidator\EmailParser;use Egulias\EmailValidator\Result\InvalidEmail;use Egulias\EmailValidator\Result\Reason\ExceptionFound;use Egulias\EmailValidator\Warning\Warning;class RFCValidation implements EmailValidation{/*** @var EmailParser|null*/private $parser;/*** @var Warning[]*/private array $warnings = [];/*** @var ?InvalidEmail*/private $error;public function isValid(string $email, EmailLexer $emailLexer): bool{$this->parser = new EmailParser($emailLexer);try {$result = $this->parser->parse($email);$this->warnings = $this->parser->getWarnings();if ($result->isInvalid()) {/** @psalm-suppress PropertyTypeCoercion */$this->error = $result;return false;}} catch (\Exception $invalid) {$this->error = new InvalidEmail(new ExceptionFound($invalid), '');return false;}return true;}public function getError(): ?InvalidEmail{return $this->error;}/*** @return Warning[]*/public function getWarnings(): array{return $this->warnings;}}