当前位置:首页 > CMS教程 > 其它CMS > 列表

Laravel框架控制器的middleware中间件用法分析

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-25 16:20:57 浏览: 评论:0 

这篇文章主要介绍了Laravel框架控制器的middleware中间件用法,结合具体案例形式分析了Laravel框架控制器的middleware中间件相关使用步骤、操作技巧与注意事项,需要的朋友可以参考下。

本文实例讲述了Laravel框架控制器的middleware中间件用法,分享给大家供大家参考,具体如下:

场景:活动开始前只能访问宣传页面,开始后才可以访问其他页面:

步骤:

新建中间件,

注册中间件,

使用中间件,

中间件的前置和后置操作。

控制器:

  1. public function activity0(){ 
  2.   return '活动快要开始啦,敬请期待'
  3. public function activity1(){ 
  4.   return '活动页面1'
  5. public function activity2(){ 
  6.   return '活动页面2'

路由:

Route::any('activity0',['uses'=>'StudentController@activity0']);

Route::any('activity1',['uses'=>'StudentController@activity1']);

Route::any('activity2',['uses'=>'StudentController@activity2']);

在App\Http\Middleware下创建中间件Activity.php:

  1. namespace App\Http\Middleware; 
  2. use Closure; 
  3. class Activity{ 
  4.   public function handle($request,Closure $next){ 
  5.     if(time() < strtotime('2018-01-01')){ 
  6.       return redirect('activity0'); 
  7.     } 
  8.     return $next($request); 
  9.   } 
  10. //注册中间件,在Kernel.php中的$routeMiddleware数组中增加 
  11. protected $routeMiddleware = [ 
  12.   'activity' => \App\Http\Middleware\Activity::class
  13. ]; 

使用中间件,路由中的设置

  1. //宣传页面不需要中间件验证,不能放里边 
  2. Route::any('activity0',['uses'=>'StudentController@activity0']); 
  3. Route::group(['middleware'=>['activity']],function(){ 
  4.   Route::any('activity1',['uses'=>'StudentController@activity1']); 
  5.   Route::any('activity2',['uses'=>'StudentController@activity2']); 
  6. }); 
  7.  
  8. //后置中间件 
  9. public function handle($request,Closure $next){ 
  10.   $response = $next($request); 
  11.   echo $response
  12.   echo '我是后置操作'
  13. }

Tags: Laravel控制器 middleware

分享到: