Spec-Zone.ru › CakePHP 4.2

Класс 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();
Пространство имён: Cake\Http\Client

Константы

  • string
    METHOD_DELETE
    'DELETE'

    Метод HTTP DELETE

  • string
    METHOD_GET
    'GET'

    Метод HTTP GET

  • string
    METHOD_HEAD
    'HEAD'

    Метод HTTP HEAD

  • string
    METHOD_OPTIONS
    'OPTIONS'

    Метод HTTP OPTIONS

  • string
    METHOD_PATCH
    'PATCH'

    Метод HTTP PATCH

  • string
    METHOD_POST
    'POST'

    Метод HTTP POST

  • string
    METHOD_PUT
    'PUT'

    Метод HTTP PUT

  • string
    METHOD_TRACE
    'TRACE'

    Метод HTTP TRACE

  • int
    STATUS_ACCEPTED
    202

    Код HTTP 202

  • int
    STATUS_CREATED
    201

    Код HTTP 201

  • int
    STATUS_FOUND
    302

    Код HTTP 302

  • int
    STATUS_MOVED_PERMANENTLY
    301

    Код HTTP 301

  • int
    STATUS_NON_AUTHORITATIVE_INFORMATION
    203

    Код HTTP 203

  • int
    STATUS_NO_CONTENT
    204

    Код HTTP 204

  • int
    STATUS_OK
    200

    Код HTTP 200

  • int
    STATUS_SEE_OTHER
    303

    Код HTTP 303

  • int
    STATUS_TEMPORARY_REDIRECT
    307

    Код HTTP 307

Резюме свойств

  • $_cookies protected
    array

    Массив файлов cookie в ответе.

  • $_json protected
    array

    Кэшированные декодированные данные JSON.

  • $_xml protected
    SimpleXMLElement

    Кэшированные декодированные данные XML.

  • $code protected
    int

    Код состояния ответа.

  • $cookies protected
    Cake\Http\Cookie\CookieCollection

    Экземпляр Cookie Collection

  • $headerNames protected
    array

    Карта нормализованного имени заголовка к исходному имени, использовавшемуся для регистрации заголовка.

  • $headers protected
    array

    Список всех зарегистрированных заголовков в формате ключ => массив значений.

  • $reasonPhrase protected
    string

    Фраза причины кода состояния.

END_OF_DOCUMENT_MARKER

Краткое описание методов

  • __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

    Получить все куки.

  • getBody() public

    Получить тело сообщения.

  • getCookie() public

    Получить значение одного куки.

  • getCookieCollection() public

    Получить коллекцию куки из этого ответа.

  • getCookieData() public

    Получить полные данные для одного куки.

  • getCookies() public

    Получить данные всех куки.

  • 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(): string[]

Обеспечивает поддержку magic __get().

Возвращает

string[]

_getJson() protected

_getJson(): mixed

Получение тела ответа как JSON-данных.

Возвращает

mixed

_getXml() protected

_getXml(): SimpleXMLElement|null

Получение тела ответа как XML-данных.

Возвращает

SimpleXMLElement|null

_parseHeaders() protected

_parseHeaders(array $headers): void

Разбирает заголовки, если необходимо.

  • Декодирует код состояния и reasonphrase.
  • Разбирает и нормализует имена и значения заголовков.

Параметры

array $headers

Заголовки для разбора.

Возвращает

void

buildCookieCollection() protected

buildCookieCollection(): void

Лениво создаёт CookieCollection и cookie-объекты из заголовка ответа

Возвращает

void

cookies() public

cookies(): array

Получение всех cookies

Возвращает

array

getBody() public

getBody(): StreamInterface

Получает тело сообщения.

Возвращает

StreamInterface

getCookie() public

getCookie(string $name): string|array|null

Получение значения отдельного cookie.

Параметры

string $name

Имя значения cookie.

Возвращает

string|array|null

getCookieCollection() public

getCookieCollection(): Cake\Http\Cookie\CookieCollection

Получение коллекции cookie из этого ответа.

Этот метод предоставляет доступ к экземпляру CookieCollection ответа, позволяя взаимодействовать с объектами cookie напрямую.

Возвращает

Cake\Http\Cookie\CookieCollection

getCookieData() public

getCookieData(string $name): array|null

Получение полных данных для отдельного cookie.

Параметры

string $name

Имя значения cookie.

Возвращает

array|null

getCookies() public

getCookies(): array

Получение всех данных cookie.

Возвращает

array

getEncoding() public

getEncoding(): string|null

Получение кодировки, если она была установлена.

Возвращает

string|null

getHeader() public

getHeader(string $header): string[]

Извлекает значение заголовка сообщения по заданному имени без учёта регистра.

Этот метод возвращает массив всех значений заголовка с заданным именем без учёта регистра.

Если заголовок отсутствует в сообщении, этот метод ДОЛЖЕН возвращать пустой массив.

Параметры

string $header

Имя поля заголовка без учёта регистра.

Возвращает

string[]

getHeaderLine() public

getHeaderLine(string $name): string

Извлекает строку, разделённую запятыми, со значениями для одного заголовка.

Этот метод возвращает все значения заголовка с заданным именем без учёта регистра в виде строки, объединённой запятыми.

ПРИМЕЧАНИЕ: не все значения заголовков могут быть адекватно представлены с помощью конкатенации запятыми. Для таких заголовков используйте getHeader() и укажите свой собственный разделитель при конкатенации.

Если заголовок отсутствует в сообщении, этот метод ДОЛЖЕН возвращать пустую строку.

Параметры

string $name

Имя поля заголовка без учёта регистра.

Возвращает

string

getHeaders() 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); } }

Возвращает

array

getJson() public

getJson(): mixed

Получение тела ответа как JSON-данных.

Возвращает

mixed

getProtocolVersion() public

getProtocolVersion(): string

Извлекает версию протокола HTTP в виде строки.

Строка ДОЛЖНА содержать только номер версии HTTP (например, "1.1", "1.0").

Возвращает

string

getReasonPhrase() public

getReasonPhrase(): string

Получает фразу причины ответа, связанную с кодом состояния.

Поскольку фраза причины не является обязательным элементом в строке состояния ответа, значение фразы причины МОЖЕТ быть null. Реализации МОГУТ выбирать возвращать рекомендуемую по умолчанию фразу причины RFC 7231 (или те, которые перечислены в реестре кодов состояния HTTP IANA) для кода состояния ответа.

Возвращает

string

getStatusCode() public

getStatusCode(): int

Получает код состояния ответа.

Код состояния — это 3-значный целочисленный код результата попытки сервера понять и удовлетворить запрос.

Возвращает

int

getStringBody() public

getStringBody(): string

Получение тела ответа в виде строки.

Возвращает

string

getXml() public

getXml(): SimpleXMLElement|null

Получение тела ответа как XML-данных.

Возвращает

SimpleXMLElement|null

hasHeader() public

hasHeader(string $header): bool

Проверяет, существует ли заголовок с заданным, нечувствительным к регистру, именем.

Параметры

string $header

Имя заголовка, нечувствительное к регистру.

Возвращает

bool

isOk() public

isOk(): bool

Проверяет, был ли код состояния ответа в диапазоне 2xx/3xx

Возвращает

bool

isRedirect() public

isRedirect(): bool

Проверяет, был ли код состояния ответа кодом перенаправления.

Возвращает

bool

isSuccess() public

isSuccess(): bool

Проверяет, был ли код состояния ответа в диапазоне 2xx

Возвращает

bool

withAddedHeader() 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

Возвращает

static

withStatus() public

withStatus(int $code, string $reasonPhrase = ''): static

Возвращает экземпляр со значением указанного кода состояния и, необязательно, фразы причины.

Если фраза причины не указана, реализации МОГУТ выбрать значение по умолчанию из RFC 7231 или рекомендуемой IANA фразы причины для кода состояния ответа.

Этот метод ДОЛЖЕН быть реализован таким образом, чтобы сохранить неизменяемость сообщения, и ДОЛЖЕН вернуть экземпляр с обновлённым состоянием и фразой причины.

Параметры

int $code

Код состояния для установки.

string $reasonPhrase optional

Фраза причины состояния.

Возвращает

static

withoutHeader() 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.2/class-Cake.Http.Client.Response.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API