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安全配置方法
Jun 16 PHP
php二维数组排序详解
Nov 06 PHP
php+js iframe实现上传头像界面无跳转
Apr 29 PHP
CentOS安装php v8js教程
Feb 26 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
PHP模板解析类实例
Jul 09 PHP
php比较两个字符串长度的方法
Jul 13 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
PHP树-不需要递归的实现方法
Jun 21 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
PHP中用Trait封装单例模式的实现
Dec 18 PHP
如何在PHP中生成随机数
Jun 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 nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
2009/08/21 PHP
php下删除一篇文章生成的多个静态页面
2010/08/08 PHP
提高php运行速度的一些小技巧分享
2012/07/03 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
Javascript图像处理思路及实现代码
2012/12/25 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
女方回门宴答谢词
2014/01/14 职场文书
六月份红领巾广播稿
2014/02/03 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
医德医风演讲稿
2014/05/20 职场文书
家具公司总经理岗位职责
2014/07/08 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
自荐信格式范文
2015/03/04 职场文书
毕业设计答辩开场白
2015/05/29 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP
vue选项卡切换的实现案例
2022/04/11 Vue.js
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers