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 相关文章推荐
php+dbfile开发小型留言本
Oct 09 PHP
用PHP实现WEB动态网页静态
Oct 09 PHP
使用phpQuery采集网页的方法
Nov 13 PHP
php判断GIF图片是否为动画的方法
Sep 04 PHP
标准PHP的AES加密算法类
Mar 12 PHP
PHP使用in_array函数检查数组中是否存在某个值
Mar 25 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 PHP
PHP不使用内置函数实现字符串转整型的方法示例
Jul 03 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 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 连接mssql数据库 初学php笔记
2010/03/01 PHP
PHP中创建和验证哈希的简单方法实探
2015/07/06 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
js cookies 常见网页木马挂马代码 24小时只加载一次
2009/04/13 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
全国省市二级联动下拉菜单 js版
2016/05/10 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
JS实现无限轮播无倒退效果
2020/09/21 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
python基础教程之对象和类的实际运用
2014/08/29 Python
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
python和php学习哪个更有发展
2020/06/17 Python
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
EJB timer的种类
2014/10/28 面试题
自荐信写法介绍
2014/01/25 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
负责人任命书范本
2014/06/04 职场文书
绘画专业自荐信
2014/07/04 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
给上级领导的感谢信
2015/01/22 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书