本篇文章给大家分享的是有关如何在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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。