PHP code example of nordic / email-address

1. Go to this page and download the library: Download nordic/email-address 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/ */

    

nordic / email-address example snippets


use Nordic\EmailAddress\EmailAddress;
use Nordic\EmailAddress\NullEmailAddress;

$emailAddress = new EmailAddress('[email protected]');
$nullEmailAddress = new NullEmailAddress;

// Compare two email addresses
$emailAddressSame = new EmailAddress('[email protected]');
$emailAddressAnother = new EmailAddress('[email protected]');

var_dump($emailAddress->equals($emailAddressSame)); // boolean(true)
var_dump($emailAddress->equals($emailAddressAnother)); // boolean(false)

use Nordic\EmailAddress\InvalidEmailAddressException;

$e = new InvalidEmailAddressException('wrong_email', 'Wrong email address');
var_dump($e->getEmailAddress()); // string(17) "wrong_email"

use Nordic\EmailAddress\EmailAddressFactory;

$factory = new EmailAddressFactory;
$emailAddress = $factory->createEmailAddress('[email protected]');
$nullEmailAddress = $factory->createEmailAddress();
$emailAddress = $factory->createEmailAddress('wrong_email'); // will throw InvalidEmailAddressException

use Nordic\EmailAddress\Assertion;

$email = Assertion::email('[email protected]');
$email = Assertion::email('wrong_email'); // will throw InvalidEmailAddressException

$emailAddress = Assertion::notNull($emailAddress);
// will throw InvalidEmailAddressException if $emailAddress is instance of NullEmailAddress

use Nordic\EmailAddress\Assertion;
use Nordic\EmailAddress\EmailAddress;
use Nordic\EmailAddress\EmailAddressInterface;
use Nordic\EmailAddress\EmailAddressFactory;
use Nordic\EmailAddress\InvalidEmailAddressException;
use Nordic\EmailAddress\EmailAddressProviderInterface;
use Nordic\EmailAddress\EmailAddressProviderTrait;

class MyClass implements EmailAddressProviderInterface
{
    use EmailAddressProviderTrait;

    public function __construct(EmailAddressInterface $emailAddress)
    {
        $this->emailAddress = Assertion::notNull($emailAddress);
    }
}

$factory = new EmailAddressFactory;

try {
    $myClass = new MyClass($factory->createEmailAddress('[email protected]'));
} catch (InvalidEmailAddressException $e) {
    // do something
}

$emailAddress = $myClass->getEmailAddress();