mildberry / notifier
Library for send user notifications by different transports
v0.0.3
2016-10-03 10:16 UTC
Requires
- php: >=5.5
- symfony/options-resolver: ^3.0
Requires (Dev)
- phpunit/phpunit: ^4.7
This package is not auto-updated.
Last update: 2024-11-09 20:17:48 UTC
README
Library for send user notifications by different transports
Install
$ composer require mildberry/notifier
Usage
<?php use Mildberry\Notifier\Interfaces\SmsNotifyInterface; use Mildberry\Notifier\Notifier; use Mildberry\Notifier\Notify\NotifyCollection; use Mildberry\Notifier\Notify\SmsNotify; use Mildberry\Notifier\Transport\VarDumpTransport; include 'vendor/autoload.php'; $notifier = new Notifier(); $notifier->setNotifyTransport(SmsNotifyInterface::class, (new VarDumpTransport())); $notifier->send(new SmsNotify('79136703311', 'Hello world')); $collectionSms = new NotifyCollection(); $collectionSms ->push(new SmsNotify('79136703311', 'How a you?')) ->push(new SmsNotify('79136703311', 'Where are you?')); $notifier->sendCollection($collectionSms);
Custom notify
<?php use Mildberry\Notifier\Interfaces\SmsNotifyInterface; use Mildberry\Notifier\Notifier; use Mildberry\Notifier\Notify\Notify; use Mildberry\Notifier\Transport\VarDumpTransport; include 'vendor/autoload.php'; class ActivationSms extends Notify implements SmsNotifyInterface { public function __construct($phone, $code) { $this ->setRecipient($phone) ->setBody('Your activation code is '.$code) ; } } class RegistrationCompleteSms extends Notify implements SmsNotifyInterface { public function __construct($phone) { $this ->setRecipient($phone) ->setBody('Congratulations registration is completed') ; } } $notifier = new Notifier(); $notifier->setNotifyTransport(SmsNotifyInterface::class, (new VarDumpTransport())); // ... registration process $notifier->send(new ActivationSms('79136703311', rand(1, 9999))); // ... registration complete $notifier->send(new RegistrationCompleteSms('79136703311'));
TODO
- Documentation for Transports
- Documentation for Storage
- Saving externalID and save delivery state from transport
- Notify query
License
This library is under the MIT license. See the complete license in here