Skip to content

概述

你的 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();