laravel 服务注册 | 短信发送接入
2018年11月8日1.创建配置文件
1 |
$ touch config/easysms.php |
2.编辑配置文件config/easysms.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php return [ // HTTP 请求的超时时间(秒) 'timeout' => 5.0, // 默认发送配置 'default' => [ // 网关调用策略,默认:顺序调用 'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class, // 默认可用的发送网关 'gateways' => [ 'aliyun', ], ], // 可用的网关配置 'gateways' => [ 'errorlog' => [ 'file' => '/tmp/easy-sms.log', ], 'yunpian' => [ 'api_key' => env('YUNPIAN_API_KEY'), ], ], ]; |
3.创建服务
1 |
php artisan make:provider EasySmsServiceProvider |
4.编辑服务app/providers/EasySmsServiceProvider.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<?php namespace App\Providers; use Overtrue\EasySms\EasySms; #短信发送包 use Illuminate\Support\ServiceProvider; class EasySmsServiceProvider extends ServiceProvider { /** * Bootstrap the application services. * * @return void */ public function boot() { // } /** * Register the application services. * * @return void */ public function register() { $this->app->singleton(EasySms::class, function ($app) { #singleton独生子 return new EasySms(config('easysms')); }); $this->app->alias(EasySms::class, 'easysms'); #别名 } } |
5.注册服务 打开config/app.php
1 2 3 4 5 6 7 8 9 10 11 12 |
. . . App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, App\Providers\EasySmsServiceProvider::class, #短信发送服务 . . . |
6.编辑.env文件
1 |
YUNPIAN_API_KEY = 5d02fc41f46a131d25db189***** |
7.测试打开 tinker
1 |
$ php artisan tinker |
将18612341234
替换为您的手机号
1 2 3 4 5 6 7 8 9 |
$sms = app('easysms'); try { $sms->send(18612341234, [ 'content' => '【Lbbs社区】您的验证码是1234。如非本人操作,请忽略本短信', ]); } catch (\Overtrue\EasySms\Exceptions\NoGatewayAvailableException $exception) { $message = $exception->getException('yunpian')->getMessage(); dd($message); } |