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


Posted in PHP onSeptember 30, 2019

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
完美解决dedecms中的[html][/html]和[code][/code]问题
Mar 20 PHP
提高PHP编程效率 引入缓存机制提升性能
Feb 15 PHP
PHP开发需要注意的安全问题
Sep 01 PHP
工厂模式在Zend Framework中应用介绍
Jul 10 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
php读取文件内容到数组的方法
Mar 16 PHP
PHP版本如何选择?应该使用哪个版本?
May 13 PHP
用PHP生成excel文件到指定目录
Jun 22 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
Aug 17 PHP
php实现的顺序线性表示例
May 04 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
May 09 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
Sep 30 #PHP
laravel实现登录时监听事件,添加登录用户的记录方法
Sep 30 #PHP
php7下的filesize函数
Sep 30 #PHP
laravel利用中间件防止未登录用户直接访问后台的方法
Sep 30 #PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 #PHP
Laravel框架表单验证操作实例分析
Sep 30 #PHP
Laravel 自带的Auth验证登录方法
Sep 30 #PHP
You might like
php继承的一个应用
2011/09/06 PHP
destoon常用的安全设置概述
2014/06/21 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
DOM相关内容速查手册
2007/02/07 Javascript
$()JS小技巧
2007/07/21 Javascript
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
Jvascript学习实践案例(开发常用)
2012/06/25 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
使用node.js中的Buffer类处理二进制数据的方法
2016/11/26 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
2020/07/28 Javascript
Python中防止sql注入的方法详解
2017/02/25 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
python爬虫搭配起Bilibili唧唧的流程分析
2020/12/01 Python
CSS3中currentColor关键字的妙用
2016/02/27 HTML / CSS
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
酒店应聘自荐信
2013/11/09 职场文书
店长岗位职责
2013/11/21 职场文书
社团文化节策划书
2014/02/01 职场文书
新教师岗前培训方案
2014/06/05 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
仙境之桥观后感
2015/06/16 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server