laravel-sms v2.0 全新重构而来。。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
lollitop
V2EX    分享创造

laravel-sms v2.0 全新重构而来。。

  •  1
     
  •   lollitop
    toplan 2015-12-22 11:06:14 +08:00 3064 次点击
    这是一个创建于 3584 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Laravel Sms

    还记得几个月前本站上的文章Laravel-sms for L5 灵活靠谱的短信发送包吧,现在laravel-sms v2来啦,快来围观围观哈,喜欢就收藏 star ,有问题请多多提 issue 或 pr!...

    1. 关于 v2

    laravel-sms v2 是基于phpsms针对 laravel 框架二次封装的短信发送库。
    相较于 v1 版本, v2 是使用新思路全新重构的版本,并且升级备用代理器机制为代理器均衡调度机制。

    phpsms 为 laravel-sms 提供了全套的短信发送机制,而且 phpsms 也有自己的 service provider ,也就是说你完全可以在 laravel 框架下无障碍的独立使用 phpsms 。
    这也是为什么使用 laravel-sms 会在项目中生成两个配置文件(phpsms.php 和 laravel-sms.php)的根本原因。

    config/phpsms.php 负责配置代理器参数以及规划如何最优调度代理器(由 phpsms 提供)。
    config/laravel-sms.php 则全职负责验证码发送 /验证模块的配置(由 laravel-sms 提供)。

    2. why me

    那么既然有了 phpsms ,为什么还需要 laravel-sms 呢?
    为了更进一步提高开发效率, laravel-sms 在 phpsms 的基础上针对 laravel 框架定制好了如下功能:

    • 队列工作方式
    • 数据库记录日志
    • 验证码发送 /验证模块

    特点

    1. 数据库记录 /管理短信数据及其发送情况[可选]。
    2. 支持模板短信和内容短信(由 phpsms 提供)。
    3. 短信队列(由 phpsms 提供)。
    4. 支持语音验证码(由 phpsms 提供)。
    5. 代理器均衡调度机制(由 phpsms 提供)。
    6. 集成验证码短信发送 /校验模块,从此告别重复写验证码短信发送与校验的历史。
    7. 验证码发送 /验证模块的 json API 无 session 支持。
    8. 集成如下第三方短信服务商,你也可自定义代理器(由 phpsms 提供)。

    详情见此

    代理器均衡调度机制

    请在 config/phpsms.php 中设置代理器的均衡调度方案。
    ```php
    'enable' => [
    //被使用概率为 2/3
    'Luosimao' => '20',

    //被使用概率为 1/3 ,且为备用代理器 'YunPian' => '10 backup', //仅为备用代理器 'YunTongXun' => '0 backup', 

    ];
    ```

    调度方案解析:
    如果按照以上配置,那么系统首次会尝试使用LuosimaoYunPian发送短信,且它们被使用的概率分别为2/31/3
    如果使用其中一个代理器发送失败,那么会启用备用代理器,按照配置可知备用代理器有YunPianYunTongXun,那么会依次调用直到发送成功或无备用代理器可用。
    值得注意的是,如果首次尝试的是YunPian,那么备用代理器将会只会使用YunTongXun,也就是会排除使用过的代理器。

    Github|文档

    GIthub: laravel sms

    5 条回复    2016-12-23 19:11:06 +08:00
    kslr
        1
    kslr  
       2015-12-22 15:20:10 +08:00
    很棒,正在使用。

    另外有个事想问下,如果我要限制一个电话号一天最多只能获取 3 次,那么我把这个功能放在哪个地方比较合适呢?
    lollitop
        2
    lollitop  
    OP
       2015-12-22 17:56:37 +08:00   1
    @kslr 谢谢支持,我认为比较合适的是利用 Validation 来扩展一个验证方式,如:

    ```php
    Validation::extend('must_less_3_times', function($attribute, $value, $parameters){
    //验证是否少于三次
    });
    ```

    在 config/laravel-sms.php 的 rules 中新加:
    ```php
    'rules' => [
    'must_less_3_times' => 'required|zh_mobile|must_less_3_times'
    ]
    ```
    aksoft
        3
    aksoft  
       2015-12-22 18:31:27 +08:00
    好东西,多谢
    lollitop
        4
    lollitop  
    OP
       2015-12-24 16:24:44 +08:00
    @aksoft 多谢支持
    ydxred
        5
    ydxred  
       2016-12-23 19:11:06 +08:00
    @kslr 大神可以指导一下怎么使用吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     895 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 21:13 PVG 05:13 LAX 14:13 JFK 17:13
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86