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 相关文章推荐
一个简单的域名注册情况查询程序
Oct 09 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
php中url传递中文字符,特殊危险字符的解决方法
Aug 17 PHP
对PHP PDO的一些认识小结
Jan 23 PHP
php单一接口的实现方法
Jun 20 PHP
Yii2.0预定义的别名功能小结
Jul 04 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
Mar 12 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
Oct 15 PHP
关于laravel模板中生成URL的几种模式总结
Oct 18 PHP
PHP7 参数处理机制修改
Mar 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
php面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
php如何连接sql server
2015/10/16 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
2016/06/30 PHP
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
python创建和删除目录的方法
2015/04/29 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
Python探索之pLSA实现代码
2017/10/25 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
python使用itchat模块给心爱的人每天发天气预报
2019/11/25 Python
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
Linux的主要特性
2016/09/03 面试题
Ejb技术面试题
2015/04/29 面试题
应届实习生的自我评价范文
2014/01/05 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
幼儿园教师备课制度
2014/01/12 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
离婚纠纷代理词
2015/05/23 职场文书
2019个人工作总结
2019/06/21 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers