Laravel框架自带了一些中间件,包括维护模式、认证、CSRF 保护中间件等等。所有的中间件都位于 app/Http/Middleware 目录。
三步走,搞一搞。
1、以下是创建中间件:
php artisan make:middleware LogMiddleware
创建完成后,在中间件里加入自己需要的代码逻辑,比如记录http影响时长来把控项目质量、
记录日志、逻辑判断、权限认证等等
<?php
namespace App\Http\Middleware;
use Closure;
class LogMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// age大于18 进入首页
if ($request->input('age') > 18)
{
return redirect('home');
}
// 记录进入http请求-响应时间 监控代码问题&质量
$start = round(microtime(true) * 1000);
$response = $next($request);
$time = round(microtime(true) * 1000) - $start;
$response->headers->set('X-Response-Time', sprintf('%dms', $time), false);
// return $next($request);
return $response;
}
}
2、注册中间件:
app\Http\Kernel.php
protected $routeMiddleware = [
'log' => \App\Http\Middleware\LogMiddleware::class,
3、使用中间件:路由配置文件
Route::post('/xxx/yyy', [
'uses' => 'XXXController@index'
])->middleware(["log"]);