主页 > 知识库 > Laravel框架控制器的middleware中间件用法分析

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

热门标签:Linux服务器 阿里云 Mysql连接数设置 团购网站 服务器配置 电子围栏 银行业务 科大讯飞语音识别系统

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

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

步骤:

新建中间件,

注册中间件,

使用中间件,

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

控制器:

public function activity0(){
  return '活动快要开始啦,敬请期待';
}
public function activity1(){
  return '活动页面1';
}
public function activity2(){
  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:

namespace App\Http\Middleware;
use Closure;
class Activity{
  public function handle($request,Closure $next){
    if(time()  strtotime('2018-01-01')){
      return redirect('activity0');
    }
    return $next($request);
  }
}
//注册中间件,在Kernel.php中的$routeMiddleware数组中增加
protected $routeMiddleware = [
  'activity' => \App\Http\Middleware\Activity::class,
];

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

//宣传页面不需要中间件验证,不能放里边
Route::any('activity0',['uses'=>'StudentController@activity0']);
Route::group(['middleware'=>['activity']],function(){
  Route::any('activity1',['uses'=>'StudentController@activity1']);
  Route::any('activity2',['uses'=>'StudentController@activity2']);
});

//后置中间件
public function handle($request,Closure $next){
  $response = $next($request);
  echo $response;
  echo '我是后置操作';
}

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

您可能感兴趣的文章:
  • laravel利用中间件做防非法登录和权限控制示例
  • laravel在中间件内生成参数并且传递到控制器中的2种姿势
  • 浅谈Laravel中的三种中间件的作用
  • Laravel获取当前请求的控制器和方法以及中间件的例子
  • laravel利用中间件防止未登录用户直接访问后台的方法
  • Laravel 6 将新增为指定队列任务设置中间件的功能
  • laravel框架中间件 except 和 only 的用法示例
  • Laravel5.1框架注册中间件的三种场景详解
  • 浅谈laravel中间件的创建思路

标签:衡水 蚌埠 广元 大理 萍乡 江苏 衢州 枣庄

巨人网络通讯声明:本文标题《Laravel框架控制器的middleware中间件用法分析》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266