Класс ServerRequestFactory
Фабрика для создания экземпляров ServerRequest.
Этот подкласс добавляет специфичное для CakePHP поведение для заполнения атрибутов basePath и webroot. Кроме того, путь Uri корректируется, чтобы содержать только «виртуальный» путь для запроса.
Краткое описание методов
-
createServerRequest() public
Создать новый запрос сервера.
-
createUri() public static
Создать новый экземпляр Uri из предоставленных данных сервера.
-
fromGlobals() public static
Создать запрос из предоставленных глобальных значений.
-
getBase() protected static
Вычислить базовый каталог и каталог webroot.
-
marshalBodyAndRequestMethod() protected static
Устанавливает переменную окружения REQUEST_METHOD на основе значения имитируемого переопределения HTTP _method. Также сохраняется 'ORIGINAL_REQUEST_METHOD', если необходимо получить исходный HTTP-метод, использованный клиентом.
-
marshalFiles() protected static
Обработать загруженные файлы и поместить их в обработанное тело.
-
marshalUriFromSapi() protected static
Построить объект UriInterface.
-
updatePath() protected static
Обновляет URI запроса, удаляя базовый каталог.
Подробное описание методов
createServerRequest() public
createServerRequest(string $method, UriInterface|string $uri, array $serverParams = []): Psr\Http\Message\ServerRequestInterface
Создать новый запрос сервера.
Обратите внимание, что параметры сервера принимаются точно так, как они заданы — никакого анализа/обработки предоставленных значений не выполняется, и, в частности, не предпринимается попытка определить HTTP-метод или URI, которые должны быть явно предоставлены.
Параметры
-
string$method HTTP-метод, связанный с запросом.
-
UriInterface|string$uri URI, связанный с запросом. Если значение является строкой, фабрика ДОЛЖНА создать экземпляр UriInterface на его основе.
-
array$serverParams optional Массив параметров SAPI, используемых для инициализации созданного экземпляра запроса.
Возвращает
Psr\Http\Message\ServerRequestInterfacecreateUri() public static
createUri(array $server = []): Psr\Http\Message\UriInterface
Создать новый экземпляр Uri из предоставленных данных сервера.
Параметры
-
array$server optional Массив данных сервера для построения Uri. $_SERVER будет добавлен в параметр $server.
Возвращает
Psr\Http\Message\UriInterfacefromGlobals() public static
fromGlobals(array|null $server = null, array|null $query = null, array|null $parsedBody = null, array|null $cookies = null, array|null $files = null): Cake\Http\ServerRequest
Создать запрос из предоставленных глобальных значений.
Если какой-либо аргумент не предоставлен, будет использоваться соответствующее глобальное значение.
Созданный ServerRequest затем передаётся в метод fromServer() для обработки URI и заголовков запроса.
Параметры
-
array|null$server optional $_SERVER superglobal
-
array|null$query optional $_GET superglobal
-
array|null$parsedBody optional $_POST superglobal
-
array|null$cookies optional $_COOKIE superglobal
-
array|null$files optional $_FILES superglobal
Возвращает
Cake\Http\ServerRequestИсключения
InvalidArgumentExceptionдля неверных значений файла
См. также
getBase() protected static
getBase(Psr\Http\Message\UriInterface $uri, array $server): array
Вычислить базовый каталог и каталог webroot.
Параметры
-
Psr\Http\Message\UriInterface$uri Экземпляр Uri.
-
array$server Данные SERVER для использования.
Возвращает
arraymarshalBodyAndRequestMethod() protected static
marshalBodyAndRequestMethod(array $parsedBody, Cake\Http\ServerRequest $request): Cake\Http\ServerRequest
Устанавливает переменную окружения REQUEST_METHOD на основе значения имитируемого переопределения HTTP _method. Также сохраняется 'ORIGINAL_REQUEST_METHOD', если необходимо получить исходный HTTP-метод, использованный клиентом.
Тело запроса типа содержимого "application/x-www-form-urlencoded" анализируется в массив для запросов PUT/PATCH/DELETE.
Параметры
-
array$parsedBody Обработанное тело.
-
Cake\Http\ServerRequest$request Экземпляр запроса.
Возвращает
Cake\Http\ServerRequestmarshalFiles() protected static
marshalFiles(array $files, Cake\Http\ServerRequest $request): Cake\Http\ServerRequest
Обработать загруженные файлы и поместить их в обработанное тело.
Параметры
-
array$files Массив файлов для нормализации и слияния в обработанном теле.
-
Cake\Http\ServerRequest$request Экземпляр запроса.
Возвращает
Cake\Http\ServerRequestmarshalUriFromSapi() protected static
marshalUriFromSapi(array $server, array $headers): Psr\Http\Message\UriInterface
Построить объект UriInterface.
Добавить специфичное для CakePHP логику/свойства, которые помогают сохранить обратную совместимость.
Параметры
-
array$server Параметры сервера.
-
array$headers Нормализованные заголовки.
Возвращает
Psr\Http\Message\UriInterfaceupdatePath() protected static
updatePath(string $base, Psr\Http\Message\UriInterface $uri): Psr\Http\Message\UriInterface
Обновляет URI запроса, удаляя базовый каталог.
Параметры
-
string$base Базовый путь для удаления.
-
Psr\Http\Message\UriInterface$uri Uri для обновления.
Возвращает
Psr\Http\Message\UriInterface
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.3/class-Cake.Http.ServerRequestFactory.html