laravel中间件

命令 php artisan make:middleware

中间件的定义:

1)命名空间的定义

2)可以继承中间件

3)excpet字段 可以定义一些规则,比如密码不去除前后空格。


handle()做中间件的处理逻辑

handle(请求对象,下一个请求对象,)

使用中间件:1定义 app/middleware   

                        2.注册 app/kernel.php

日志文件位置:storage/logs/laravel.log

<?php

namespace App\Http\Middleware;

use Closure;
use Log;
use DB;

class myMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
    	//继续执行之前拦截
    	Log::info('url ='.$request->path());

        //开启查询日志
        DB::enableQueryLog();
    	//继续执行当前请求
        $response = $next($request);

        dump(DB::getQueryLog());//必须开启查询日志以后才能用

        return $response;
    }

    /*
    结束请求时,会自动调用该方法
    */
    public function terminate()
    {
        dd(DB::getQueryLog());
    }
}

1)全局中间件

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
    /**
     * The application's global HTTP middleware stack.
     *
     * These middleware are run during every request to your application.
     *
     * @var array
     */
    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        \App\Http\Middleware\myMiddleware::class,
    ];
2)别名中间件

3)路由注册:路由文件中使用中间件

定义路由加后缀 Route::get('/test',['middleware'=>'my',//中间件名称

'users'=>'IndexController@test//

'as'=>'test_router',//路由名称

']) ;

4)控制器中使用中间件:在类的构造方法中使用中间件


课程结束自己需要了解的东西:

1.如何在laravel框架中使用第三方库

2.编写自己的库(如在laravel中实现支付宝接口)

3.底层概念的深刻理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值