Skip to content

Instantly share code, notes, and snippets.

<?php
declare(strict_types=1);
namespace App\User\Notification;
use App\Notification\EmailAdddress;
use App\Notification\EmailNotificationInterface;
use App\Notification\Impl\EmailNotification;
use App\Template\TemplateEngine;
<?php
declare(strict_types=1);
namespace App\Notification\Impl;
use App\Notification\EmailAddress;
use App\Notification\EmailNotificationInterface;
final class EmailNotification implements EmailNotificationInterface
<?php
declare(strict_types=1);
namespace App\Notification\Implementation;
use App\Notification\NotificationInterface;
use App\Notification\TransportInterface;
/**
<?php
declare(strict_types=1);
namespace App\Notification\Implementation;
use App\Notification\NotificationInterface;
use App\Notification\NotificationManagerInterface;
use App\Notification\NotificationSendException;
use App\Notification\TransportInterface;
<?php
declare(strict_types=1);
namespace App\Notification\Implementation;
use App\Notification\EmailNotificationInterface;
use App\Notification\NotificationInterface;
use App\Notification\NotificationSendException;
use App\Notification\TransportInterface;
<?php
declare(strict_types=1);
namespace App\Notification;
/**
* Transport that physically delivers notifications.
*
* @template T of NotificationInterface
<?php
declare(strict_types=1);
namespace App\Notification;
/**
* WhatsApp notification
*/
interface WhatsAppNotificationInterface extends NotificationInterface
<?php
declare(strict_types=1);
namespace App\Notification;
/**
* E-mail notification
*/
interface EmailNotificationInterface extends NotificationInterface
<?php
declare(strict_types=1);
namespace App\Notification;
/**
* The manager responsible for sending notifications.
*
* It is capable of sending many messages in batch.
<?php
declare(strict_types=1);
namespace App\Notification;
/**
* The base notification
*/
interface NotificationInterface