概述
你的 Slim 应用的路由和中间件接收一个 PSR-7 请求对象,该对象代表 Web 服务器接收到的当前 HTTP 请求。该请求对象实现了 PSR-7 ServerRequestInterface 接口,通过它你可以检查和操作 HTTP 请求的方法、头部和正文。
如何获取请求对象
PSR-7 请求对象会作为第一个参数注入到 Slim 应用的路由中,类似以下示例中的路由回调函数:
<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
require __DIR__ . '/../vendor/autoload.php';
$app = AppFactory::create();
$app->get('/hello', function (Request $request, Response $response) {
$response->getBody()->write('Hello World');
return $response;
});
$app->run();
PSR-7 请求对象会作为中间件可调用函数的第一个参数注入到 Slim 应用的中间件中,类似以下示例:
<?php
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Slim\Factory\AppFactory;
require __DIR__ . '/../vendor/autoload.php';
$app = AppFactory::create();
$app->add(function (Request $request, RequestHandler $handler) {
return $handler->handle($request);
});
// ...定义应用程序路由...
$app->run();