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 增加了对 .ZIP 文件的读取功能
Oct 09 PHP
MySql 按时间段查询数据方法(实例说明)
Nov 02 PHP
PHP 多维数组排序实现代码
Aug 05 PHP
php实现mysql同步的实现方法
Oct 21 PHP
PHP 全角转半角实现代码
May 16 PHP
php下通过IP获取地理位置的代码(小偷程序)
Jun 09 PHP
PHP输出数组中重名的元素的几种处理方法
Sep 05 PHP
PHP利用header跳转失效的解决方法
Oct 24 PHP
PHP中round()函数对浮点数进行四舍五入的方法
Nov 19 PHP
php 获取xml接口数据的处理方法
May 31 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 11 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 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 接口类与抽象类的实际作用
2009/11/26 PHP
yii操作session实例简介
2014/07/31 PHP
PHP实现AES256加密算法实例
2014/09/22 PHP
php编程每天必学之验证码
2016/03/03 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
通过ifame指向的页面高度调整iframe的高度
2006/10/05 Javascript
JS的数组的扩展实例代码
2008/07/09 Javascript
javascript string字符串优化问题
2011/07/31 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
js读写json文件实例代码
2014/10/21 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
itchat接口使用示例
2017/10/23 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python实现图片压缩代码实例
2019/08/12 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
python上selenium的弹框操作实现
2020/07/13 Python
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
护理毕业生自我鉴定
2014/02/11 职场文书
小学六年级学生评语
2014/04/22 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python