1.中间件的作用
在app程序 执行前 或 执行后 要运行的代码,用来操作 Request和Response对象。
比如,在防止 跨站点请求伪造 时就需要在应用运行之前验证请求,这就需要用到中间件。
2.中间件基本要求
中间件必须是可调用的,它接受3个参数:
- \Psr\Http\Message\ServerRequestInterface - PSR7请求对象
- \Psr\Http\Message\ResponseInterface - PSR7响应对象
- callable - 可调用的下一个中间件
中间件必须返回一个实例 \Psr\Http\Message\ResponseInterface
每个中间件应该调用下一个中间件并将其作为参数传递给Request和Response对象
3.两种形式的中间件
- 闭包,如下例:
<?php
/**
* Example middleware closure
*
* @param \Psr\Http\Message\ServerRequestInterface $request PSR7 request
* @param \Psr\Http\Message\ResponseInterface $response PSR7 response
* @param callable $next Next middleware
*
* @return \Psr\Http\Message\ResponseInterface
*/
function ($request, $response, $next) {