2017 © Pedro Peláez
 

library sms-sender

SMS abstract factory service.

image

zfegg/sms-sender

SMS abstract factory service.

  • Friday, May 4, 2018
  • by Moln
  • Repository
  • 2 Watchers
  • 1 Stars
  • 90 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 6 Versions
  • 1 % Grown

The README.md

短信发送抽象接口

GitHub Actions: Run tests Coverage Status Coverage Status Latest Stable Version Total Downloads License PHP Version Require, (*1)

抽象常用短信业务:, (*2)

  1. 实现短信的限制发送(60s 内限制发送1次,1天上限发送10次)
  2. 短信验证码生成与验证功能

Installation / 安装

使用 Composer 安装, (*3)

$ composer require zfegg/sms-sender

Interfaces / 接口说明

  • Zfegg/SmsSender/Provider/ProviderInterface 短信供应商实现接口

Usage / 使用

基本使用示例代码:

示例代码, (*4)

在 Expressive 中使用:

config/application.php 中添加模块加载., (*5)

return array(
    'modules' => array(
        //... Your modules
        'Zfegg/SmsSender'
    ),
);

添加短信发送配置 module.config.php, (*6)


return [ 'dependencies' => [ 'factories' => [ ProviderInterface::class => YourSmsProviderFactory::class, ], ] 'zfegg' => [ LimitSender::class => [ 'provider' => ProviderInterface::class, // 设置短信商服务名. (可选), 默认 `ProviderInterface::class` 'cache' => CacheInterface::class, // 设置缓存服务名 (可选), 默认 `CacheInterface::class` 'day_send_times' => 10, // 设置每天发送次数上限 (可选), 默认10 'waiting_time' => 60, //设置每次发送等待时长 (可选), 默认60s ], PostSmsCaptchaHandler::class => [ 'types' => [ 'register' => 'Register captcha code: {code}', 'login' => 'Login captcha code: {code}', ] ], ] ];

控制器使用:, (*7)


//发送验证码 $app->post('/api/send-sms-captcha', PostSmsCaptchaHandler::class); //业务验证码验证 $app->post('/register', [ function ($req, $handler) { //配置验证器 $inputFilter = (new \Laminas\InputFilter\Factory)->create([ [ 'name' => 'captcha', 'validators' => [ [ 'name' => SmsCode::class, 'options' => [ 'inputName' => 'phone', ] ] ] ], [ 'name' => 'phone', 'validators' => [ [ 'name' => 'PhoneNumber', ] ] ], ]) if (! $inputFilter->isValid()) { //验证失败响应 return new JsonResponse(['messages' => $inputFilter->getMessages()], 403); } //验证成功继续注册 return $handler->handle($req); }, YourRegisterHandler::class, ])

The Versions

04/05 2018