Вход Регистрация
Файл: vendor/egulias/email-validator/src/Validation/RFCValidation.php
Строк: 46
<?php

namespace EguliasEmailValidatorValidation;

use 
EguliasEmailValidatorEmailLexer;
use 
EguliasEmailValidatorEmailParser;
use 
EguliasEmailValidatorResultInvalidEmail;
use 
EguliasEmailValidatorResultReasonExceptionFound;

class 
RFCValidation implements EmailValidation
{
    
/**
     * @var EmailParser|null
     */
    
private $parser;

    
/**
     * @var array
     */
    
private $warnings = [];

    
/**
     * @var ?InvalidEmail
     */
    
private $error;

    public function 
isValid(string $emailEmailLexer $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;
    }

    public function 
getWarnings() : array
    {
        return 
$this->warnings;
    }
}
Онлайн: 1
Реклама