本篇文章给大家分享的是有关如何在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中间件,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。