# Класс HttpSoft\Message\ServerRequestFactory

Фабрика для создания HttpSoft\Message\ServerRequest, реализует Psr\Http\Message\ServerRequestFactoryInterface.

Исходный код на GitHub.

use HttpSoft\Message\ServerRequestFactory;

$factory = new ServerRequestFactory();
$request = $factory->createServerRequest('POST', 'http://example.com', $_SERVER);

$request->getMethod(); // 'POST'
$request->getProtocolVersion(); // '1.1'
$request->getBody()->getMetadata('uri'); // 'php://temp'
(string) $request->getUri(); // 'http://example.com'
$request->getHeaders(); // ['Host' => ['example.com'], 'Content-Type' => ['text/html']]

$request->getServerParams(); // $_SERVER
$request->getUploadedFiles(); // []
$request->getCookieParams(); // []
$request->getQueryParams(); // []
$request->getParsedBody(); // `null`
$request->getAttributes(); // []

# Публичные методы

Оригинальное подробное описание методов смотрите в Psr\Http\Message\ServerRequestFactoryInterface.

# createServerRequest

Создает новый экземпляр HttpSoft\Message\ServerRequest.

/**
 * @param string $method
 * @param UriInterface|string $uri
 * @param array $serverParams
 * @return ServerRequestInterface
 */
public function createServerRequest(string $method, $uri, array $serverParams = []): ServerRequestInterface;

Создает экземпляр HttpSoft\Message\ServerRequest с пустыми данными для суперглобальных массивов.

use HttpSoft\Message\ServerRequestFactory;

$factory = new ServerRequestFactory();
$request = $factory->createServerRequest('GET', '', []);

$request->getMethod(); // 'GET'
$request->getProtocolVersion(); // '1.1'
$request->getBody()->getContents(); // ''
$request->getBody()->getMetadata('uri'); // 'php://temp'
(string) $request->getUri(); // ''
$request->getHeaders(); // []

$request->getServerParams(); // []
$request->getUploadedFiles(); // []
$request->getCookieParams(); // []
$request->getQueryParams(); // []
$request->getParsedBody(); // null
$request->getAttributes(); // []