Spec-Zone.ru › CakePHP 4.4

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

    Кэшированные декодированные данные 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 = '')

Конструктор

Parameters

array $headers optional

Необработанные заголовки.

string $body optional

Тело ответа.

_decodeGzipBody() protected

_decodeGzipBody(string $body): string

Разархивировать gzip-ответ.

Ищет gzip-подписи, и если существует gzinflate(), тело будет разархивировано.

Parameters

string $body

Тело, закодированное gzip.

Returns

string

Throws

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

void

buildCookieCollection() protected

buildCookieCollection(): void

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

Returns

void

cookies() public

cookies(): array

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

Returns

array

getBody() public

getBody(): StreamInterface

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

Returns

StreamInterface

getCookie() public

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

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

Parameters

string $name

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

Returns

array|string|null

getCookieCollection() public

getCookieCollection(): Cake\Http\Cookie\CookieCollection

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

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

Returns

Cake\Http\Cookie\CookieCollection

getCookieData() public

getCookieData(string $name): array|null

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

Parameters

string $name

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

Returns

array|null

getCookies() public

getCookies(): array

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

Returns

array

getEncoding() public

getEncoding(): string|null

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

Returns

string|null

getHeader() public

getHeader(string $header): string[]

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

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

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

Parameters

string $header

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

Returns

string[]

getHeaderLine() public

getHeaderLine(string $name): string

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

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

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

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

Parameters

string $name

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

Returns

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

Returns

array

getJson() public

getJson(): mixed

Получить тело ответа как данные, декодированные из JSON.

Returns

mixed

getProtocolVersion() public

getProtocolVersion(): string

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

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

Returns

string

getReasonPhrase() public

getReasonPhrase(): string

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

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

Returns

string

getStatusCode() public

getStatusCode(): int

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

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

Returns

int

getStringBody() public

getStringBody(): string

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

Returns

string

getXml() public

getXml(): SimpleXMLElement|null

Получить тело ответа как данные, декодированные из XML.

Returns

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.

Тип

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

Spec-Zone.ru

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