Класс Request
Реализует методы для HTTP-запросов.
Используется Cake\Http\Client для хранения информации о запросе для отправки запросов.
Константы
-
stringMETHOD_DELETE'DELETE'
Метод HTTP DELETE
-
stringMETHOD_GET'GET'
Метод HTTP GET
-
stringMETHOD_HEAD'HEAD'
Метод HTTP HEAD
-
stringMETHOD_OPTIONS'OPTIONS'
Метод HTTP OPTIONS
-
stringMETHOD_PATCH'PATCH'
Метод HTTP PATCH
-
stringMETHOD_POST'POST'
Метод HTTP POST
-
stringMETHOD_PUT'PUT'
Метод HTTP PUT
-
stringMETHOD_TRACE'TRACE'
Метод HTTP TRACE
-
intSTATUS_ACCEPTED202
Код HTTP 202
-
intSTATUS_CREATED201
Код HTTP 201
-
intSTATUS_FOUND302
Код HTTP 302
-
intSTATUS_MOVED_PERMANENTLY301
Код HTTP 301
-
intSTATUS_NON_AUTHORITATIVE_INFORMATION203
Код HTTP 203
-
intSTATUS_NO_CONTENT204
Код HTTP 204
-
intSTATUS_OK200
Код HTTP 200
-
intSTATUS_PERMANENT_REDIRECT308
Код HTTP 308
-
intSTATUS_SEE_OTHER303
Код HTTP 303
-
intSTATUS_TEMPORARY_REDIRECT307
Код HTTP 307
Краткое описание свойств
- $_cookies protected
arrayМассив куки в ответе.
- $headerNames protected
arrayСопоставление нормализованного имени заголовка с исходным именем, использованным для регистрации заголовка.
- $headers protected
arrayСписок всех зарегистрированных заголовков в формате ключ => массив значений.
Краткое описание методов
-
__construct() public
Конструктор
-
addHeaders() protected
Добавить массив заголовков в запрос.
-
cookies() public
Получить все куки
-
getBody() public
Получить тело сообщения.
-
getHeader() public
Извлекает значение заголовка сообщения по заданному имени, не чувствительному к регистру.
-
getHeaderLine() public
Извлекает строку, содержащую значения заголовка, разделенные запятыми.
-
getHeaders() public
Извлекает все заголовки сообщения.
-
getMethod() public
Извлекает HTTP-метод запроса.
-
getProtocolVersion() public
Извлекает HTTP-версию протокола в виде строки.
-
getRequestTarget() public
Извлекает целевой объект запроса сообщения.
-
getUri() public
Извлекает экземпляр URI.
-
hasHeader() public
Проверяет наличие заголовка по заданному имени, не чувствительному к регистру.
-
setContent() protected
Установить тело/полезную нагрузку для сообщения.
-
withAddedHeader() public
Возвращает экземпляр с добавленным заголовком со значением.
-
withBody() public
Возвращает экземпляр со значением тела сообщения.
-
withHeader() public
Возвращает экземпляр с заданным заголовком, заменяя все существующие значения заголовков с тем же именем, нечувствительным к регистру.
-
withMethod() public
Возвращает экземпляр с заданным HTTP-методом.
-
withProtocolVersion() public
Возвращает экземпляр со значением HTTP-версии протокола.
-
withRequestTarget() public
Создает новый экземпляр с определённым целевым объектом запроса.
-
withUri() public
Возвращает экземпляр с предоставленным URI.
-
withoutHeader() public
Возвращает экземпляр без указанного заголовка.
Подробное описание методов
__construct() public
__construct(string $url = '', string $method = self::METHOD_GET, array $headers = [], array|string|null $data = null)
Конструктор
Предоставляет обратную совместимость по умолчанию для некоторых свойств.
Параметры
-
string$url необязательно URL запроса
-
string$method необязательно Метод HTTP, который использовать.
-
array$headers необязательно HTTP-заголовки для установки.
-
array|string|null$data необязательно Тело запроса для использования.
addHeaders() protected
addHeaders(array<string, string> $headers): void
Добавить массив заголовков к запросу.
Параметры
-
array<string, string>$headers Заголовки для добавления.
Возвращает
voidcookies() public
cookies(): array
Получить все куки
Возвращает
arraygetBody() public
getBody(): StreamInterface
Получить тело сообщения.
Возвращает
StreamInterfacegetHeader() public
getHeader(string $header): string[]
Извлекает значение заголовка сообщения по заданному имени, не чувствительному к регистру.
Этот метод возвращает массив всех значений заголовка с заданным именем заголовка, не чувствительным к регистру.
Если заголовок отсутствует в сообщении, этот метод ДОЛЖЕН вернуть пустой массив.
Параметры
-
string$header Имя поля заголовка, не чувствительное к регистру.
Возвращает
string[]getHeaderLine() public
getHeaderLine(string $name): string
Возвращает строку заголовков, разделенных запятыми, для одного заголовка.
Этот метод возвращает все значения заголовка с заданным именем заголовка, не чувствительным к регистру, как строку, конкатенированную вместе с использованием запятой.
ПРИМЕЧАНИЕ. Не все значения заголовков могут быть корректно представлены с помощью конкатенации запятыми. Для таких заголовков используйте getHeader() вместо этого и укажите свой разделитель при конкатенации.
Если заголовок отсутствует в сообщении, этот метод ДОЛЖЕН вернуть пустую строку.
Параметры
-
string$name Имя поля заголовка, не чувствительное к регистру.
Возвращает
stringgetHeaders() public
getHeaders(): array
Возвращает все заголовки сообщения.
Ключи представляют имя заголовка, как оно будет отправлено по сети, а каждое значение — массив строк, связанных с заголовком.
// Представить заголовки в виде строки foreach ($message->getHeaders() as $name => $values) { echo $name . ": " . implode(", ", $values); }
// Выводить заголовки поочередно: foreach ($message->getHeaders() as $name => $values) { foreach ($values as $value) { header(sprintf('%s: %s', $name, $value), false); } }
Возвращает
arraygetMethod() public
getMethod(): string
Возвращает HTTP-метод запроса.
Возвращает
stringgetProtocolVersion() public
getProtocolVersion(): string
Возвращает HTTP-версию протокола в виде строки.
Строка ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Возвращает
stringgetRequestTarget() public
getRequestTarget(): string
Возвращает целевой параметр сообщения.
Возвращает целевой параметр запроса в том виде, в котором он отобразится (для клиентов), как он появился при запросе (для серверов) или как он был указан для экземпляра (см. сRequestTarget()).
В большинстве случаев это будет исходная форма URI, составленного URI, если не было предоставлено значение конкретной реализации (см. сRequestTarget() ниже).
Если доступен никакой URI, и никакой целевой параметр запроса не был указан специально, этот метод ДОЛЖЕН вернуть строку "/".
Возвращает
stringgetUri() public
getUri(): UriInterface
Возвращает экземпляр URI.
Этот метод ДОЛЖЕН вернуть экземпляр UriInterface.
Возвращает
UriInterfaceСсылки
hasHeader() public
hasHeader(string $header): bool
Проверяет существование заголовка по заданному имени, не чувствительному к регистру.
Параметры
-
string$header Имя заголовка, не чувствительное к регистру.
Возвращает
boolsetContent() protected
setContent(array|string $content): $this
Установить тело/данные для сообщения.
Массив данных будет сериализован с помощью {@link \Cake\Http\FormData}, и тип контента будет установлен.
Параметры
-
array|string$content Тело запроса.
Возвращает
$thiswithAddedHeader() public
withAddedHeader(string $name, string|string[] $value): static
Возвращает экземпляр с добавленным заголовком со значением.
Существующие значения указанного заголовка будут сохранены. Новые значения будут добавлены к существующему списку. Если заголовок ранее не существовал, он будет добавлен.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с новым заголовком и/или значением.
Параметры
-
string$name Имя поля заголовка, не чувствительное к регистру, для добавления.
-
string|string[]$value Значение(я) заголовка.
Возвращает
staticИсключения
Exception\InvalidArgumentExceptionПри неверных именах или значениях заголовков.
withBody() public
withBody(StreamInterface $body): static
Возвращает экземпляр с указанным телом сообщения.
Тело ДОЛЖНО быть объектом StreamInterface.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть новый экземпляр с новым потоком тела.
Параметры
-
StreamInterface$body Тело.
Возвращает
staticИсключения
Exception\InvalidArgumentExceptionПри неверном теле.
withHeader() public
withHeader(string $name, string|string[] $value): static
Возвращает экземпляр с предоставленным заголовком, заменяя любые существующие значения любых заголовков с тем же именем, не чувствительным к регистру.
Хотя имена заголовков не чувствительны к регистру, регистр заголовка будет сохранен этой функцией и возвращен из getHeaders().
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с новым и/или обновленным заголовком и значением.
Параметры
-
string$name Имя поля заголовка, не чувствительное к регистру.
-
string|string[]$value Значение заголовка.
Возвращает
staticИсключения
Exception\InvalidArgumentExceptionПри неверных именах или значениях заголовков.
withMethod() public
withMethod(string $method): static
Возвращает экземпляр с предоставленным HTTP-методом.
Хотя имена HTTP-методов обычно все заглавные буквы, имена HTTP-методов чувствительны к регистру, и поэтому реализации НЕ ДОЛЖНЫ изменять заданную строку.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с измененным методом запроса.
Параметры
-
string$method Метод, не чувствительный к регистру.
Возвращает
staticИсключения
Exception\InvalidArgumentExceptionДля недопустимых HTTP-методов.
withProtocolVersion() public
withProtocolVersion(string $version): static
Возвращает экземпляр с указанной версией протокола HTTP.
Строка версии ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения и ДОЛЖЕН вернуть экземпляр с новой версией протокола.
Параметры
-
string$version Версия протокола HTTP
Возвращаемое значение
staticwithRequestTarget() public
withRequestTarget(mixed $requestTarget): static
Создаёт новый экземпляр с указанным целевым объектом запроса.
Если запрос требует целевого объекта запроса, отличного от исходного — например, для указания абсолютной, авторизационной или звёздчатой формы — этот метод можно использовать для создания экземпляра с указанным целевым объектом запроса в точности.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть новый экземпляр с изменённой целью запроса.
Параметры
-
mixed$requestTarget
Возвращаемое значение
staticИсключения
Exception\InvalidArgumentExceptionЕсли целевой объект запроса недействителен.
Ссылки
withUri() public
withUri(UriInterface $uri, bool $preserveHost = false): static
Возвращает экземпляр с предоставленным URI.
Этот метод по умолчанию обновит заголовок Host возвращаемого запроса, если URI содержит компонент host. Если URI не содержит компонент host, любой существующий заголовок Host будет передан в возвращаемый запрос.
Вы можете выбрать сохранение исходного состояния заголовка Host, установив $preserveHost на true. Когда $preserveHost установлено на true, возвращаемый запрос не будет обновлять заголовок Host возвращаемого сообщения — даже если в сообщении нет заголовка Host. Это означает, что вызов getHeader('Host') для исходного запроса ДОЛЖЕН быть равен результату вызова getHeader('Host') для возвращаемого запроса.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с новым объектом UriInterface.
Параметры
-
UriInterface$uri Новый URI запроса для использования.
-
bool$preserveHost optional Сохранить исходное состояние заголовка Host.
Возвращаемое значение
staticСсылки
withoutHeader() public
withoutHeader(string $name): static
Возвращает экземпляр без указанного заголовка.
Разрешение заголовков ДОЛЖНО выполняться без учёта регистра.
Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр, удаляющий указанный заголовок.
Параметры
-
string$name Имя поля заголовка, не учитывающее регистр, которое нужно удалить.
Возвращаемое значение
staticПодробное описание свойств
$_cookies protected
Массив куки в ответе.
Тип
array$headerNames protected
Отображение нормализованного имени заголовка на исходное имя, используемое для регистрации заголовка.
Тип
array$headers protected
Список всех зарегистрированных заголовков в виде ключ => массив значений.
Тип
array
© 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.4/class-Cake.Http.Client.Request.html