[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
peminjaman
/
vendor
/
egulias
/
email-validator
/
src
/
Validation
/
[
Home
]
File: RFCValidation.php
<?php namespace 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 Warning[] */ private array $warnings = []; /** * @var ?InvalidEmail */ private $error; public function isValid(string $email, EmailLexer $emailLexer): bool { $parser = new EmailParser($emailLexer); try { $result = $parser->parse($email); $this->warnings = $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; } }