您好,登录后才能下订单哦!
本篇文章给大家分享的是有关如何在Laravel5.1 框架中使用Middleware中间件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
咱创建中间件是使用artisan控制台的:
php artisan make:middleware TestMiddleware
创建好后位于:app/Http/Middleware
首先我们来看看新创建的中间件是什么模样儿:
class TestMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
return $next($request);
}
}解读:middleware中只有 “handle”函数 这个函数呢接受两个参数
它的流程是接受request参数 取出一些东西做验证 如果逻辑通过 执行next闭包。
如果你还是不太懂的话 没关系 咱上实例
public function handle($request, Closure $next)
{
// 如果传入的id参数等于0 就跳转到首页。
if ($request->input('id') == 0){
return redirect('/');
}
// id参数不等于0 则为通过 进行默认的下一步操作。
return $next($request);
}完事儿后我们需要在 app/Http/Kernel.php 中进行注册:
/** * The application's global HTTP middleware stack. * * @var array */ protected $middleware = [ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, ]; /** * The application's route middleware. * * @var array */ protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, // 把我们创建的middleware注册到这里 'test' => \App\Http\Middleware\TestMiddleware::class, ];
注意:我们可以瞧见啊 Kernel 中有两个数组 如果你希望在全局中使用 就注册在middleware数组中,如果你想要局部使用middleware 那么就在routeMiddleware数组中注册。
好了,注册完之后我们来用用吧:
Route::get('/test-middleware',['middleware'=>'test',function(){
return 'HI';
}]);以上就是如何在Laravel5.1 框架中使用Middleware中间件,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。