Класс Response
Реализует методы для HTTP-ответов.
Все следующие примеры предполагают, что $response является экземпляром этого класса.
Получение значений заголовков
Имена заголовков не чувствительны к регистру, но приводятся к верхнему регистру при разборе ответа.
$val = $response->getHeaderLine('content-type'); Прочитает заголовок Content-Type. Вы можете получить все установленные заголовки, используя:
$response->getHeaders();
Получение тела ответа
Вы можете получить доступ к потоку тела ответа, используя:
$content = $response->getBody();
Вы можете получить строку тела, используя:
$content = $response->getStringBody();
Если тело ответа в формате XML или JSON, вы можете использовать специальные методы доступа, специфичные для типа контента, для чтения декодированных данных. Данные JSON будут возвращены в виде массивов, а XML - в виде узлов SimpleXML:
// Get as XML $content = $response->getXml() // Get as JSON $content = $response->getJson()
Если ответ нельзя декодировать, будет возвращено null.
Проверка кода состояния
Вы можете получить доступ к коду состояния ответа, используя:
$content = $response->getStatusCode();
Константы
-
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Массив куки в ответе.
- $_json protected
arrayКэшированные декодированные данные JSON.
- $_xml protected
SimpleXMLElementКэшированные декодированные данные XML.
- $code protected
intКод состояния ответа.
- $cookies protected
Cake\Http\Cookie\CookieCollectionЭкземпляр коллекции куки.
- $headerNames protected
arrayКарта нормализованного имени заголовка к исходному имени, используемому для регистрации заголовка.
- $headers protected
arrayСписок всех зарегистрированных заголовков, как ключ => массив значений.
- $reasonPhrase protected
stringФраза причины для кода состояния.
Краткое описание методов
-
__construct() public
Конструктор
-
_decodeGzipBody() protected
Распаковывает gzip ответ.
-
_getBody() protected
Обеспечивает поддержку магического метода __get().
-
_getCookies() protected
Доступ к свойству
$this->cookies -
_getHeaders() protected
Обеспечивает поддержку магического метода __get().
-
_getJson() protected
Получить тело ответа в формате JSON, декодированное.
-
_getXml() protected
Получить тело ответа в формате XML, декодированное.
-
_parseHeaders() protected
Парсит заголовки, если необходимо.
-
buildCookieCollection() protected
Лениво создает CookieCollection и cookie-объекты из заголовка ответа.
-
cookies() public
Получить все cookie.
-
getBody() public
Получить тело сообщения.
-
getCookie() public
Получить значение одного cookie.
-
getCookieCollection() public
Получить коллекцию cookie из этого ответа.
-
getCookieData() public
Получить полные данные для одного cookie.
-
getCookies() public
Получить все данные cookie.
-
getEncoding() public
Получить кодировку, если она была задана.
-
getHeader() public
Возвращает значение заголовка сообщения по заданному имени, не учитывая регистр.
-
getHeaderLine() public
Возвращает строку значений заголовка, разделённых запятыми.
-
getHeaders() public
Возвращает все заголовки сообщения.
-
getJson() public
Получить тело ответа в формате JSON, декодированное.
-
getProtocolVersion() public
Возвращает версию HTTP-протокола в виде строки.
-
getReasonPhrase() public
Получить фразу причины ответа, связанную со статусом.
-
getStatusCode() public
Получить код состояния ответа.
-
getStringBody() public
Получить тело ответа в виде строки.
-
getXml() public
Получить тело ответа в формате XML, декодированное.
-
hasHeader() public
Проверяет существование заголовка по заданному имени, не учитывая регистр.
-
isOk() public
Проверить, является ли код состояния ответа в диапазоне 2xx/3xx.
-
isRedirect() public
Проверить, был ли код состояния ответа кодом перенаправления.
-
isSuccess() public
Проверить, является ли код состояния ответа кодом 2xx.
-
withAddedHeader() public
Возвращает экземпляр с добавленным заголовком и значением.
-
withBody() public
Возвращает экземпляр с заданным телом сообщения.
-
withHeader() public
Возвращает экземпляр с заданным заголовком, заменяя любые существующие значения заголовков с тем же именем, не учитывая регистр.
-
withProtocolVersion() public
Возвращает экземпляр со заданной версией HTTP-протокола.
-
withStatus() public
Возвращает экземпляр со заданным кодом состояния и, необязательно, фразой причины.
-
withoutHeader() public
Возвращает экземпляр без указанного заголовка.
Подробное описание методов
__construct() public
__construct(array $headers = [], string $body = '')
Конструктор
Параметры
-
array$headers optional Необработанные заголовки.
-
string$body optional Тело ответа.
_decodeGzipBody() protected
_decodeGzipBody(string $body): string
Распаковка gzip-ответа.
Ищет gzip-подписи, и если существует gzinflate(), тело будет распаковано.
Параметры
-
string$body Тело, закодированное gzip.
Возвращает
stringВызывает исключение
RuntimeExceptionПри попытке декодирования gzip-контента без gzinflate.
_getBody() protected
_getBody(): string
Обеспечивает поддержку magic __get().
Возвращает
string_getCookies() protected
_getCookies(): array
Доступ к свойству $this->cookies
Возвращает
array_getHeaders() protected
_getHeaders(): array<string>
Обеспечивает поддержку magic __get().
Возвращает
array<string>_getJson() protected
_getJson(): mixed
Получение тела ответа как данные, декодированные из JSON.
Возвращает
mixed_getXml() protected
_getXml(): SimpleXMLElement|null
Получение тела ответа как данные, декодированные из XML.
Возвращает
SimpleXMLElement|null_parseHeaders() protected
_parseHeaders(array $headers): void
Разбирает заголовки, если необходимо.
- Декодирует код состояния и reasonphrase.
- Разбирает и нормализует имена и значения заголовков.
Параметры
-
array$headers Заголовки для разбора.
Возвращает
voidbuildCookieCollection() protected
buildCookieCollection(): void
Лениво создаёт CookieCollection и объекты cookie из заголовка ответа
Возвращает
voidcookies() public
cookies(): array
Получить все cookies
Возвращает
arraygetBody() public
getBody(): StreamInterface
Получает тело сообщения.
Возвращает
StreamInterfacegetCookie() public
getCookie(string $name): array|string|null
Получить значение одного cookie.
Параметры
-
string$name Имя значения cookie.
Возвращает
array|string|nullgetCookieCollection() public
getCookieCollection(): Cake\Http\Cookie\CookieCollection
Получить коллекцию cookie из этого ответа.
Этот метод предоставляет экземпляр CookieCollection ответа, позволяя вам взаимодействовать с объектами cookie напрямую.
Возвращает
Cake\Http\Cookie\CookieCollectiongetCookieData() public
getCookieData(string $name): array|null
Получить полные данные для одного cookie.
Параметры
-
string$name Имя значения cookie.
Возвращает
array|nullgetCookies() public
getCookies(): array
Получить все данные cookie.
Возвращает
arraygetEncoding() public
getEncoding(): string|null
Получить кодировку, если она была установлена.
Возвращает
string|nullgetHeader() 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); } }
Возвращает
arraygetJson() public
getJson(): mixed
Получение тела ответа как данные, декодированные из JSON.
Возвращает
mixedgetProtocolVersion() public
getProtocolVersion(): string
Извлекает версию протокола HTTP в виде строки.
Строка ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Возвращает
stringgetReasonPhrase() public
getReasonPhrase(): string
Получает фразу-описание причины ответа, связанную с кодом состояния.
Поскольку фраза-описание причины не является обязательным элементом в строке состояния ответа, значение фразы-описания причины МОЖЕТ быть null. Реализации МОГУТ выбрать для возврата рекомендуемой по умолчанию фразы-описания причины RFC 7231 (или тех, которые перечислены в реестре кодов состояния HTTP IANA) для кода состояния ответа.
Возвращает
stringgetStatusCode() public
getStatusCode(): int
Получает код состояния ответа.
Код состояния — это 3-значный целочисленный код результата попытки сервера понять и удовлетворить запрос.
Возвращает
intgetStringBody() public
getStringBody(): string
Получить тело ответа в виде строки.
Возвращает
stringgetXml() public
getXml(): SimpleXMLElement|null
Получение тела ответа как данные, декодированные из XML.
Возвращает
SimpleXMLElement|nullhasHeader() public
hasHeader(string $header): bool
Проверяет наличие заголовка по заданному имени без учёта регистра.
Параметры
-
string$header Имя заголовка без учёта регистра.
Возвращает
boolisOk() public
isOk(): bool
Проверяет, был ли код состояния ответа в диапазоне 2xx/3xx.
Возвращает
boolisRedirect() public
isRedirect(): bool
Проверяет, был ли код состояния ответа кодом перенаправления.
Возвращает
boolisSuccess() public
isSuccess(): bool
Проверяет, был ли код состояния ответа в диапазоне 2xx.
Возвращает
boolwithAddedHeader() 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Для некорректных имён или значений заголовков.
withProtocolVersion() public
withProtocolVersion(string $version): static
Возвращает экземпляр с указанной версией HTTP-протокола.
Строка версии ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Этот метод ОДНОЗНАЧНО должен быть реализован таким образом, чтобы сохранить неизменяемость сообщения и вернуть экземпляр с новой версией протокола.
Параметры
-
string$version Версия HTTP-протокола
Возвращает
staticwithStatus() public
withStatus(int $code, string $reasonPhrase = ''): static
Возвращает экземпляр со значением кода состояния и (необязательно) фразей причины.
Если фраза причины не указана, реализации могут использовать рекомендуемые RFC 7231 или IANA фразы причины для кода состояния ответа.
Этот метод ОДНОЗНАЧНО должен быть реализован таким образом, чтобы сохранить неизменяемость сообщения и вернуть экземпляр с обновлённым кодом состояния и фразой причины.
Параметры
-
int$code Код состояния для установки.
-
string$reasonPhrase optional Фраза причины состояния.
Возвращает
staticwithoutHeader() public
withoutHeader(string $name): static
Возвращает экземпляр без указанного заголовка.
Разрешение заголовков ДОЛЖНО выполняться без учёта регистра.
Этот метод ОДНОЗНАЧНО должен быть реализован таким образом, чтобы сохранить неизменяемость сообщения и вернуть экземпляр, удаляющий указанный заголовок.
Параметры
-
string$name Имя поля заголовка (без учёта регистра) для удаления.
Возвращает
staticПодробное описание свойств
$_cookies protected
Массив куки в ответе.
Тип
array$_json protected
Кэшированные декодированные данные JSON.
Тип
array$_xml protected
Кэшированные декодированные данные XML.
Тип
SimpleXMLElement$code protected
Код состояния ответа.
Тип
int$cookies protected
Экземпляр Cookie Collection.
Тип
Cake\Http\Cookie\CookieCollection$headerNames protected
Карта нормализованных имён заголовков к исходным именам, используемым для регистрации заголовка.
Тип
array$headers protected
Список всех зарегистрированных заголовков в виде ключ => массив значений.
Тип
array$reasonPhrase protected
Фраза причины кода состояния.
Тип
string
© 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.Client.Response.html