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的变量总结 新手推荐
Apr 18 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
Sep 05 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
PHP实现对站点内容外部链接的过滤方法
Sep 10 PHP
PHP统计当前在线用户数实例讲解
Oct 21 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 PHP
PHP大文件分片上传的实现方法
Oct 28 PHP
PHP递归算法的简单实例
Feb 28 PHP
PHP批斗大会之缺失的异常详解
Jul 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
php session_start()出错原因分析及解决方法
2013/10/28 PHP
PHP数组函数array_multisort()用法实例分析
2016/04/02 PHP
PHP文件操作详解
2016/12/30 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
javascript 节点排序 2
2011/01/31 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
BootStrap selectpicker
2016/06/20 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
2016/07/20 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
Node.js API详解之 repl模块用法实例分析
2020/05/25 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
感知器基础原理及python实现过程详解
2019/09/30 Python
python实现猜数游戏
2020/03/27 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
三严三实民主生活会发言稿
2014/10/13 职场文书
先进班集体事迹材料
2014/12/25 职场文书
离职信范文
2015/06/23 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python