rm / smsender
Library for sending SMS
v0.2.0
2020-02-24 23:46 UTC
Requires
- guzzlehttp/guzzle: >=6.3
- nette/utils: >=2.4
Requires (Dev)
- jakub-onderka/php-parallel-lint: ~1.0
- nette/bootstrap: >=2.4
- nette/caching: >=2.5
- nette/di: >=2.4
- nette/finder: >=2.4
- nette/neon: >=2.4
- nette/reflection: >=2.4
- nette/tester: >=1.7
- phpstan/phpstan: >=0.9
Suggests
- nette/di: If you wanna use Nette DI extension
This package is auto-updated.
Last update: 2024-11-15 08:48:48 UTC
README
Component for sending SMS through service EuroSMS.sk for Nette.
Library is possible use too without Nette.
Installation
$ composer require rm/smsender
Minimal example
Pure PHP
$message = new RM\SMSender\Message; $message->setFrom('Example.com') ->setTo('+421900123456') ->setText('SMS text'); try { $smsender = new RM\SMSender\EuroSms\Sender([ 'id' => 'API-id', 'key' => 'API-key', ]); $smsender->send($message); } catch (RM\SMSender\Exception $e) { echo 'ERROR: ' . $e->getMessage(); }
Nette
config.neon
extensions: smsender: RM\SMSender\DI\SMSenderExtension smsender: config: [ id: API-id key: API-key ]
namespace App; use Nette\Application\UI\Presenter; use RM; class SmsPresenter extends Presenter { /** @var RM\SMSender\IMessageFactory @inject */ public $messageFactory; /** @var RM\SMSender\ISender @inject */ public $SMSender; protected function startup() { parent::startup(); $this->SMSender->onBeforeSend[] = function ($message) { $message->setText($message->getText() . ' -- Example.com'); }; $this->SMSender->onSuccess[] = function () { $this->flashMessage('SMS has been sent.', 'success'); }; $this->SMSender->onError[] = function () { $this->flashMessage('Sending SMS failed.', 'warning'); }; } function actionSendSms($to, $text) { $message = $this->messageFactory->create(); $message->setFrom('Example.com') ->setTo($to) ->setText($text); try { $this->SMSender->send($message); } catch (RM\SMSender\Exception $e) {} } }
Full feature configuration
config.neon
extensions: smsender: RM\SMSender\DI\SMSenderExtension smsender: config: [ id: API-id key: API-key ] setDebugMode: TRUE senderClass: RM\SMSender\EuroSms\Sender messageClass: RM\SMSender\EuroSms\Message messageFactoryClass: RM\SMSender\MessageFactory message: setFrom: Example.com signature: ' -- Example.com'