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 相关文章推荐
escape unescape的php下的实现方法
Apr 27 PHP
php一些公用函数的集合
Mar 27 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
PHP实现清除wordpress里恶意代码
Oct 21 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
php魔术方法功能与用法实例分析
Oct 19 PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 PHP
PHP hex2bin()函数用法讲解
Feb 25 PHP
Smarty模板配置实例简析
Jul 20 PHP
基于PHP实现微信小程序客服消息功能
Aug 12 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
20个PHP常用类库小结
2011/09/11 PHP
php上传文件问题汇总
2015/01/30 PHP
php根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
javascript网页关键字高亮代码
2008/07/30 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
javascript简单实现图片预加载
2014/12/03 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
React Hooks 实现和由来以及解决的问题详解
2020/01/17 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
New Balance波兰官方商城:始于1906年,百年慢跑品牌
2017/08/15 全球购物
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
幼儿园中秋节活动方案
2014/02/06 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
委托公证书样本
2015/01/23 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
实习证明模板
2015/06/16 职场文书