1. Go to this page and download the library: Download nikolaposa/notifier 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/ */
nikolaposa / notifier example snippets
namespace App\Model;
use Notifier\Channel\Email\EmailMessage;
use Notifier\Channel\Sms\SmsMessage;
use Notifier\Channel\Email\EmailNotification;
use Notifier\Channel\Sms\SmsNotification;
use Notifier\Recipient\Recipient;
class TodoExpiredNotification implements EmailNotification, SmsNotification
{
/** @var Todo */
protected $todo;
public function __construct(Todo $todo)
{
$this->todo = $todo;
}
public function toEmailMessage(Recipient $recipient): EmailMessage
{
return (new EmailMessage())
->from('[email protected]')
->subject('Todo expired')
->htmlBody(
'Dear ' . $recipient->getRecipientName() . ','
. '<br><br>'
. 'Your todo: <b>' . $this->todo->getText() . '</b> has expired.'
);
}
public function toSmsMessage(Recipient $recipient): SmsMessage
{
return (new SmsMessage())
->text('Todo: ' . $this->todo->getText() . ' has expired');
}
}
namespace App\Model;
use Notifier\Recipient\Recipient;
class User implements Recipient
{
/** @var string */
protected $name;
/** @var array */
protected $contacts;
public function __construct(string $name, array $contacts)
{
$this->name = $name;
$this->contacts = $contacts;
}
public function getName(): string
{
return $this->name;
}
public function getRecipientContact(string $channel, Notification $notification): ?string
{
return $this->contacts[$channel] ?? null;
}
public function getRecipientName(): string
{
return $this->name;
}
}
use Notifier\Channel\Channels;
use Notifier\Channel\Email\EmailChannel;
use Notifier\Channel\Email\SimpleMailer;
use Notifier\Channel\Sms\SmsChannel;
use Notifier\Channel\Sms\TwilioTexter;
use Notifier\Notifier;
use Notifier\Recipient\Recipients;
$notifier = new Notifier(new Channels(
new EmailChannel(new SimpleMailer()),
new SmsChannel(new TwilioTexter('auth_id', 'auth_token'))
));
$notifier->send(
new TodoExpiredNotification($todo),
new Recipients($user1, $user2, $user3)
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.