Laravel 中间件的使用(前置与后置)

摘要:
中间件的作用是过滤进入应用程序的http请求。

中间件的作用:

过滤进入应用程序的http请求。

比如,有一个活动,在活动开始前进入活动页则跳转到宣传页

使用步骤:

1 创建中间件 appHttpMiddlewareActivity.php

php artisan make:middleware Activity
<?php

namespace AppHttpMiddleware;

use Closure;

class Activity
{
    /**
     * Handle an incoming request.
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */

    public function handle($request,Closure $next){

        if(time() < strtotime('2020-08-06')){
            return redirect('activity0');
        }
        return $next($request);
    }
}

2 控制器方法 appHttpControllersStudentController.php

    public function activity0()
    {
        return '活动快要开始了';
    }

    public function activity1()
    {
        return '活动进行中,感谢你的参与1';
    }
    public function activity2()
    {
        return '活动进行中,感谢你的参与2';
    }

3 设置路由 outesweb.php

//宣传页面
Route::any('activity0',['uses'=>'StudentController@activity0']);

//活动页面:
Route::group(['middleware'=>['activity']],function (){
    Route::any('activity1',['uses'=>'StudentController@activity1']);
    Route::any('activity2',['uses'=>'StudentController@activity2']);
});

4 注册路由 appHttpKernel.php

    protected $routeMiddleware = [
       。。。。。
        'activity' => AppHttpMiddlewareActivity::class,
    ];

 前置操作与后置操作

    public function handle($request,Closure $next)
    {
        echo '【我是前置操作】';
        $response = $next($request);//$next($request)本质上就是response
        echo($response);
        echo '【我是后置操作】';
    }

Laravel 中间件的使用(前置与后置)第1张

$next($request)就是response  在此之间的就是前置操作,后面的就是后置操作。。。。。

免责声明:文章转载自《Laravel 中间件的使用(前置与后置)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇手机控制台调试(需PC端协助)mount命令(用来挂载硬盘或镜像等)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

bxSlider使用

占个坑,有空仔细研究下。 官网:http://bxslider.com/ 优点: 1.完全响应-将适应任何设备2.水平,垂直和褪色模式3.它可以包括图片,视频,或HTML内容4.先进的触摸/刷卡支持内置5.使用css滑动动画(本地硬件加速!)6.全回调函数和公共方法7.小文件大小,完全主题,简单实现8.浏览器:Firefox,Chrome,Safari支持...

apache2.2安装和配置(安装版)

apache2.2安装和配置(安装版) 1.         Next→Iaccept,Next→在Network Domain下填入你的域名,在Server Name下填入你的服务器名称(也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址,选forAllUser,Next→选Custo...

【开发笔记】- QQ消息轰炸

1、右键新建一个文本文件; 2、打开记事本将如下代码复制过去; On Error Resume Next Dim wsh,ye set wsh=createobject("wscript.shell") for i=1 to 100 '这里是轰炸次数 wscript.sleep 70 wsh.AppActivate("这里是要轰炸的人的名字")...

Hexo+Github--搭建个人博客(二)主题配置

安装完hexo后,我们便可以开始使用hexo,如果我们想更换主题使得网站更加简洁或者酷炫,那么我们可以进行主题更换。主题有很多,下面以NexT主题为例, 讲下如何更换主题: 一、NexT主题安装 Hexo提供了更换主题模块,进入你的博客部署文件夹,可以看到有个themes文件夹,这个文件夹就是用来存放主题的 首先我们使用git clone NexT主题到主...

python中和生成器协程相关的yield之最详最强解释,一看就懂(一)

yield是python中一个非常重要的关键词,所有迭代器都是yield实现的,学习python,如果不把这个yield的意思和用法彻底搞清楚,学习python的生成器,协程和异步io的时候,就会彻底懵逼。所以写一篇总结讲讲yield的东西。 分成四块来讲, 这篇先说yield基本用法,后面会重点将yield from的牛逼之处 一, 生成器中使用yiel...

POJ 3028 Shoot-out(概率DP)

Description This is back in the Wild West where everybody is fighting everybody. In particular, there are n cowboys, each with a revolver. These are rather civilized cowboys, so...