Класс 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
mixedКэшированные декодированные данные 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 = '')
Конструктор
Parameters
-
array$headers optional Необработанные заголовки.
-
string$body optional Тело ответа.
_decodeGzipBody() protected
_decodeGzipBody(string $body): string
Разархивировать gzip-ответ.
Ищет gzip-подписи, и если существует gzinflate(), тело будет разархивировано.
Parameters
-
string$body Тело, закодированное gzip.
Returns
stringThrows
RuntimeExceptionПри попытке декодировать gzip-контент без gzinflate.
_getBody() protected
_getBody(): string
Обеспечивает поддержку magic __get().
Returns
string_getCookies() protected
_getCookies(): array
Доступ к свойству для $this->cookies
Returns
array_getHeaders() protected
_getHeaders(): array<string>
Обеспечивает поддержку magic __get().
Returns
array<string>_getJson() protected
_getJson(): mixed
Получить тело ответа как данные, декодированные из JSON.
Returns
mixed_getXml() protected
_getXml(): SimpleXMLElement|null
Получить тело ответа как данные, декодированные из XML.
Returns
SimpleXMLElement|null_parseHeaders() protected
_parseHeaders(array $headers): void
Разбирает заголовки, если необходимо.
- Декодирует код состояния и reasonphrase.
- Разбирает и нормализует имена и значения заголовков.
Parameters
-
array$headers Заголовки для разбора.
Returns
voidbuildCookieCollection() protected
buildCookieCollection(): void
Лениво создает CookieCollection и объекты cookie из заголовка ответа
Returns
voidcookies() public
cookies(): array
Получить все cookie
Returns
arraygetBody() public
getBody(): StreamInterface
Получает тело сообщения.
Returns
StreamInterfacegetCookie() public
getCookie(string $name): array|string|null
Получить значение отдельного cookie.
Parameters
-
string$name Имя значения cookie.
Returns
array|string|nullgetCookieCollection() public
getCookieCollection(): Cake\Http\Cookie\CookieCollection
Получить коллекцию cookie из этого ответа.
Этот метод предоставляет доступ к экземпляру CookieCollection ответа, позволяя взаимодействовать с объектами cookie напрямую.
Returns
Cake\Http\Cookie\CookieCollectiongetCookieData() public
getCookieData(string $name): array|null
Получить полные данные для одного cookie.
Parameters
-
string$name Имя значения cookie.
Returns
array|nullgetCookies() public
getCookies(): array
Получить все данные cookie.
Returns
arraygetEncoding() public
getEncoding(): string|null
Получить кодировку, если она была установлена.
Returns
string|nullgetHeader() public
getHeader(string $header): string[]
Извлекает значение заголовка сообщения по заданному имени без учёта регистра.
Этот метод возвращает массив всех значений заголовка с заданным именем без учёта регистра.
Если заголовок не указан в сообщении, этот метод ДОЛЖЕН вернуть пустой массив.
Parameters
-
string$header Имя поля заголовка без учёта регистра.
Returns
string[]getHeaderLine() public
getHeaderLine(string $name): string
Извлекает строку, разделённую запятыми, значений для одного заголовка.
Этот метод возвращает все значения заголовка с заданным именем без учёта регистра в виде строки, объединённой запятыми.
ПРИМЕЧАНИЕ: Не все значения заголовков могут быть корректно представлены с помощью конкатенации запятыми. Для таких заголовков используйте getHeader() вместо этого и укажите свой собственный разделитель при конкатенации.
Если заголовок не указан в сообщении, этот метод ДОЛЖЕН вернуть пустую строку.
Parameters
-
string$name Имя поля заголовка без учёта регистра.
Returns
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); } }
Returns
arraygetJson() public
getJson(): mixed
Получить тело ответа как данные, декодированные из JSON.
Returns
mixedgetProtocolVersion() public
getProtocolVersion(): string
Извлекает версию протокола HTTP в виде строки.
Строка ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").
Returns
stringgetReasonPhrase() public
getReasonPhrase(): string
Получает фразу причины ответа, связанную с кодом состояния.
Поскольку фраза причины не является обязательным элементом в строке состояния ответа, значение фразы причины МОЖЕТ быть нулевым. Реализации МОГУТ выбрать возврат рекомендуемой по умолчанию фразы причины RFC 7231 (или тех, которые перечислены в реестре кодов состояния HTTP IANA) для кода состояния ответа.
Returns
stringgetStatusCode() public
getStatusCode(): int
Получает код состояния ответа.
Код состояния — это 3-значный целочисленный код результата попытки сервера понять и удовлетворить запрос.
Returns
intgetStringBody() public
getStringBody(): string
Получить тело ответа как строку.
Returns
stringgetXml() public
getXml(): SimpleXMLElement|null
Получить тело ответа как данные, декодированные из XML.
Returns
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.
Тип
mixed$_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.4/class-Cake.Http.Client.Response.html