Spec-Zone.ru › CakePHP 4.3

Класс 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_PERMANENT_REDIRECT
    308

    Код HTTP 308

  • int
    STATUS_SEE_OTHER
    303

    Код HTTP 303

  • int
    STATUS_TEMPORARY_REDIRECT
    307

    Код 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

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

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

    Получить все 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

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

Возвращает

void

buildCookieCollection() protected

buildCookieCollection(): void

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

Возвращает

void

cookies() public

cookies(): array

Получить все cookies

Возвращает

array

getBody() public

getBody(): StreamInterface

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

Возвращает

StreamInterface

getCookie() public

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

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

Параметры

string $name

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

Возвращает

array|string|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.3/class-Cake.Http.Client.Response.html

Spec-Zone.ru

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