在支配环境之前,我们须要去阿里云平台注册一个账号,个人账号和公司账号都可以,注册完成后,复制access_key和access_secret配置在项目中就完成了项目的基本设置。
一. 新建项目,安装Laravel5.6版本的框架代码1. 环境配置哀求Laravel 对系统有一些哀求,您的做事器知足下面的哀求:
备注:您须要达到以上的配置哀求,这个就不详细详细解释,详细看PHP语法

Laravel5.6利用 Composer 来管理项目依赖。因此,在利用 Laravel5.6之前,请确保你的机器已经安装了 Composer。
composer -v
// 未安装composer,请参照以下网址安装https://www.phpcomposer.com/
备注:composer详细安装请参照上面链接,按文档安装即可.
下面我们详细安装Larvael5.6框架,在掌握窗口输入一下内容(本人windows操作系统),等待安装完成。
composer create-project --prefer-dist laravel/laravel blog
安装完成后实行以下代码,为运用程序设置随机字符串密钥。
php artisan key:generate
在浏览器中输入:http://localhost/blog/public/index.php,看到如下界面便是访问正常了。
3. composer.json配置阿里云组件包
在require中添加"mrgoon/aliyun-sms": "dev-master"
“require”: { “php”: “^7.1.3”, “fideloper/proxy”: “^4.0”, “laravel/framework”: “5.8.”, “laravel/tinker”: “^1.0”, "mrgoon/aliyun-sms": "dev-master"}
然后实行命令:
composer updatecomposer dumpautoload
组件下载完成后,如下图:
里面已经有阿里云的SDK包了,配置文件也天生了。
4、开通短信服务
1、登录阿里云网站,点击短信服务,进入开通。
2、点击海内
3、添加署名
4、添加模板
5. 配置阿里云access_key和access_secret配置
这里很关键:我的是单独写了一个文件进行配置
第一步:在config/app.php的providers下添加:
'providers' => [Mrgoon\AliSms\ServiceProvider::class,],
第二步:在app/aliyunsms.php中添加配置:
return [ 'access_key' => env('ALIYUN_SMS_AK', '填你自己的'), 'access_secret' => env('ALIYUN_SMS_AS', '填你自己的'), ],
第三步:在.env文件中配置常量
ALIYUN_ACCESSKEYID=填你自己的
文件就已经配置完成。
二. 编写接口掌握器方法新建掌握器:UploadsController 继续 Controller类,方便操作。
第一步:编写API路由
Route::post('/index/sendsms', '\App\Http\Controllers\Index\SmsController@index');
第二步:编写掌握器,发送短信(核心代码)
<?phpnamespace App\Http\Controllers\Index;use App\Http\Controllers\Controller;use Illuminate\Http\Request;class SmsController extends Controller { public function index(Request $request) { if (!is_mobile($request->mobile)) { return array_format('手机号格式缺点', 414); } //发送过快验证 $repeat_cache_key = md5($request->mobile . $request->type . 'repeat'); if (cache()->store('file')->has($repeat_cache_key)) { return array_format('发送过快,请稍后再试', 414); } $mobile_code = rand_num(6); $sms = new \AliSms(); $temp = $sms->sendSms($request->mobile, '填你自己的', ['code'=> $mobile_code]); if (!$temp) { return array_format('发送短信失落败', 414); } //缓存验证码 $cache_key = md5($request->mobile); cache()->store('file')->put($cache_key, $mobile_code, 5); cache()->store('file')->put($repeat_cache_key, $mobile_code, 0.1); return array_format('发送成功', 200); }}
. Postman工具接口测试
理解更多干货知识请关注"大众年夜众号(Laravel技能社区)