PHP code example of aegisora / email-rule-guardian

1. Go to this page and download the library: Download aegisora/email-rule-guardian library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

aegisora / email-rule-guardian example snippets


$guardian->check($value, EmailRule::create(), new InvalidEmailException());

$emailRuleGuardian->check($value, new InvalidEmailException());

use Aegisora\Guardian\Guardian;
use Aegisora\Guardian\Exceptions\GuardianValidationException;
use Aegisora\RuleGuardians\EmailRule\EmailRuleGuardian;

$guardian = new Guardian();

$emailRuleGuardian = new EmailRuleGuardian($guardian);

try {
    $emailRuleGuardian->check('[email protected]');
    // value is a valid email
} catch (GuardianValidationException $exception) {
    // value is not a valid email
}

use Aegisora\Guardian\Guardian;
use Aegisora\RuleGuardians\EmailRule\EmailRuleGuardian;
use App\Exceptions\InvalidEmailException;

$guardian = new Guardian();

$emailRuleGuardian = new EmailRuleGuardian($guardian);

$emailRuleGuardian->check('plainaddress', new InvalidEmailException());

use Aegisora\RuleGuardians\EmailRule\EmailRuleGuardian;
use App\Exceptions\InvalidEmailException;

final class RegistrationService
{
    private EmailRuleGuardian $emailRuleGuardian;

    public function __construct(
        EmailRuleGuardian $emailRuleGuardian
    ) {
        $this->emailRuleGuardian = $emailRuleGuardian;
    }

    /**
     * @param mixed $email
     */
    public function register($email): void
    {
        $this->emailRuleGuardian->check($email, new InvalidEmailException());

        // business logic for valid email
    }
}

use Aegisora\Guardian\Exceptions\GuardianValidationException;

try {
    $emailRuleGuardian->check('plainaddress');
} catch (GuardianValidationException $exception) {
    echo $exception->getRuleCode(); // "email_rule"
}

use App\Exceptions\InvalidEmailException;

try {
    $emailRuleGuardian->check('plainaddress', new InvalidEmailException());
} catch (InvalidEmailException $exception) {
    // domain-specific handling
}

use Aegisora\Guardian\Exceptions\GuardianExecutingRuleException;

try {
    $emailRuleGuardian->check($value);
} catch (GuardianExecutingRuleException $exception) {
    // the rule could not be executed
}

/**
 * @param mixed $value
 * @throws GuardianExecutingRuleException
 * @throws GuardianValidationException
 * @throws \Throwable
 */
public function check(
    $value,
    ?\Throwable $exception = null
): void

$emailRuleGuardian->check('[email protected]');

$emailRuleGuardian->check('[email protected]', new InvalidEmailException());