fruitware / prostor-sms-php-sdk
0.1.5
2016-03-19 16:06 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~5.0
- guzzlehttp/guzzle-services: ~0.5
Suggests
- guzzlehttp/log-subscriber: ~1.0
- monolog/monolog: ~1.14
This package is auto-updated.
Last update: 2024-09-15 19:31:33 UTC
README
外部文档链接
安装
composer require fruitware/prostor-sms-php-sdk
初始化
use Fruitware\ProstorSms\Client; use GuzzleHttp\Client as GuzzleClient; //set basic access authentication $options = [ 'defaults' => [ 'auth' => ['username', 'password'], ], ]; $smsGate = new Client(new GuzzleClient($options));
启用日志记录(非必需)
所需依赖
composer require guzzlehttp/log-subscriber monolog/monolog
use GuzzleHttp\Subscriber\Log\Formatter; use GuzzleHttp\Subscriber\Log\LogSubscriber; use Monolog\Handler\StreamHandler; use Monolog\Logger; $log = new Logger('maib_guzzle_request'); $log->pushHandler(new StreamHandler(__DIR__.'/logs/prostor_sms_guzzle_request.log', Logger::DEBUG)); $subscriber = new LogSubscriber($log, Formatter::SHORT); $smsGate->getHttpClient()->getEmitter()->attach($subscriber);
使用示例
检查余额
$balance = $smsGate->balance(); var_dump('balance', $balance);
发送短信
简单方式
use Fruitware\ProstorSms\Model\Sms; use Fruitware\ProstorSms\Exception\BadSmsStatusException; $sms = new Sms(); $sms ->setId(unique()) // id sms в вашей системе ->setPhone('+71234567890') ->setText('тест sms') ; try { $smsGate->send($sms); } catch (BadSmsStatusException $ex) { // что-то сделать с ошибкой } var_dump('sms', $sms);
发送多个
$sms = new Sms(); $sms ->setId(unique()) // id sms в вашей системе ->setPhone('+71234567890') ->setText('тест sms') ->sender('TEST') // Подпись отправителя (например TEST) ; // Название очереди статусов отправленных сообщений $queueName = 'myQueue1'; // Дата для отложенной отправки сообщения $scheduleTime = (new \DateTime())->modify('+1 day'); $smsCollection = $smsGate->sendQueue([$sms, $sms], $queueName, $scheduleTime); foreach ($smsCollection as $sms) { if ($sms->getStatus() !== $sms::STATUS_ACCEPTED) { // что-то сделать с ошибкой } }