1、路由模型绑定
laravel5.2新增了一些特性,其中就有路由模型绑定
我们的程序提供Api时,当客户端不停地请求时,会造成服务器压力
laravel5.2中新增访问次数限制middleware('throttle:3');限制一分钟之内访问次数为3次
laravel5.2新增了一些特性,其中就有路由模型绑定
Route::get('/user/{user}',function(\App\User $user){
return $user;
})
/*
*回调函数参数$user是User模型的一个实例
*路由参数user意义代表userid
*返回的结果是users数据表中对应路由中参数id的一条记录
*路由参数user要与回调函数参数的书写一致,否则laravel返回的是空数组
*
*拓展 我们可以自定义别的字段
*1、打开app/prviders/RouteServiceProvider.php
*2、在boot方法当中去绑定我们自定义的字段
\Route::bind('username',function($user){
return User::where('username','=',$user)->firstOrFail();
})
*这时路由中就可以这样
*Route::get('user/{username}',function(\App\User $user){
return $uer
})
*
*/
2、访问次数限制
我们的程序提供Api时,当客户端不停地请求时,会造成服务器压力
laravel5.2中新增访问次数限制middleware('throttle:3');限制一分钟之内访问次数为3次
测试工具 httpie,访问次数过多的话,返回too many attempts
3、访问限制源码解读
http/kernel.php $middleware 属性中的 throttle 跳转到该类,查看handle方法。。。
4、两分钟实现注册登录功能
php artisan make:auth命令就可以实现简单的注册登录重置密码以及访问限制
5、处理errors找不到的问题
Route::group(['middleware' => ['web']],function(){
//web应用放在这里
});
Route::group(['middleware' => ['api']],function(){
//api请求放在这里
});
error中间件是在web组当中,如果出现错误显示不了的问题,将该请求的路由放到web路由组中即可
6、多表认证登录