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 smarty函数扩展
Mar 15 PHP
php计算十二星座的函数代码
Aug 21 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
Yii实现多按钮保存与提交的方法
Dec 03 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
PHP借助phpmailer发送邮件
May 11 PHP
深入理解PHP变量的值类型和引用类型
Oct 21 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
利用php做服务器和web前端的界面进行交互
Oct 31 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
Jul 03 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 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数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
php include类文件超时问题处理
2015/02/06 PHP
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
2007/03/06 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
JS 实现列表与多选框选择附预览动画
2014/10/29 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
2019/05/26 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
Django日志模块logging的配置详解
2017/02/14 Python
用python制作游戏外挂
2018/01/04 Python
详解python配置虚拟环境
2019/04/08 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
python实现扫雷游戏
2020/03/03 Python
如何写python的配置文件
2020/06/07 Python
使用K.function()调试keras操作
2020/06/17 Python
python文件读取失败怎么处理
2020/06/23 Python
用python批量移动文件
2021/01/14 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
同居协议书范本
2014/04/23 职场文书
公司年会策划方案
2014/05/17 职场文书
创建文明城市标语
2014/06/16 职场文书
毕业生面试求职信
2014/06/23 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
神农溪导游词
2015/02/11 职场文书