Spec-Zone.ru › CakePHP 3.3

Класс Response

Реализует методы для HTTP-ответов.

Все следующие примеры предполагают, что $response является экземпляром этого класса.

Получение значений заголовков

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

$val = $response->getHeaderLine('content-type');

Прочитает заголовок Content-Type. Вы можете получить все установленные заголовки, используя:

$response->getHeaders();

Вы также можете получить заголовки, используя доступ к объекту. При получении заголовков с доступом к объекту, вам необходимо использовать имена заголовков, чувствительные к регистру:

$val = $response->headers['Content-Type'];

Получение тела ответа

Вы можете получить доступ к потоку тела ответа, используя:

$content = $response->getBody();

Вы также можете использовать доступ к объекту для получения строковой версии тела ответа:

$content = $response->body;

Если тело вашего ответа находится в формате XML или JSON, вы можете использовать специальные методы доступа, специфичные для типа содержимого, для чтения декодированных данных. Данные JSON будут возвращены в виде массивов, а данные XML — в виде узлов SimpleXML:

// Get as xml
$content = $response->xml
// Get as json
$content = $response->json

Если ответ не может быть декодирован, будет возвращено значение null.

Проверка кода состояния

Вы можете получить доступ к коду состояния ответа, используя:

$content = $response->getStatusCode();

Вы также можете использовать доступ к объекту:

$content = $response->code;
Cake\Http\Client\Message
Extended by Cake\Http\Client\Response реализует Psr\Http\Message\ResponseInterface использует Zend\Diactoros\MessageTrait
Пространство имён: Cake\Http\Client
Расположение: Http/Client/Response.php

Унаследованные константы

  • METHOD_DELETE, METHOD_GET, METHOD_HEAD, METHOD_OPTIONS, METHOD_PATCH, METHOD_POST, METHOD_PUT, METHOD_TRACE, STATUS_ACCEPTED, STATUS_CREATED, STATUS_FOUND, STATUS_MOVED_PERMANENTLY, STATUS_OK, STATUS_SEE_OTHER, STATUS_TEMPORARY_REDIRECT

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

  • $_exposedProperties protected
    array
    Карта public => имена свойств для __get()
  • $_json protected
    array
    Кэшированные декодированные данные JSON.
  • $_xml protected
    SimpleXMLElement
    Кэшированные декодированные данные XML.
  • $code protected
    integer
    Код состояния ответа.
  • $reasonPhrase protected
    string
    Фраза причины для кода состояния

Унаследованные свойства

  • _cookies

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

  • __construct() public
    Конструктор
  • __get() public
    Чтение значений как свойств.
  • __isset() public
    Проверка isset/empty с помощью -> синтаксиса.
  • _decodeGzipBody() protected
    Распаковка ответа gzip.
  • _getBody() protected
    Обеспечивает поддержку магического метода __get().
  • _getHeaders() protected
    Обеспечивает поддержку магического метода __get().
  • _getJson() protected
    Получение тела ответа как декодированные данные JSON.
  • _getXml() protected
    Получение тела ответа как декодированные данные XML.
  • _parseCookie() protected
    Разбор заголовка cookie в данные.
  • _parseHeaders() protected
    Разбирает заголовки при необходимости.
  • body() public
    Получение тела ответа.
  • cookie() public
    Чтение значений одного/нескольких cookie.
  • encoding() public
    Получение кодировки, если она была установлена.
  • getCookie() public
    Получение значения одного cookie.
  • getCookieData() public
    Получение полных данных для одного cookie.
  • getCookies() public
    Получение всех данных cookie.
  • getEncoding() public
    Получение кодировки, если она была установлена.
  • getReasonPhrase() public
  • getStatusCode() public
  • header() public
    Чтение значения(й) одного/нескольких заголовков.
  • isOk() public
    Проверка, был ли ответ OK.
  • isRedirect() public
    Проверка, был ли ответ редиректом.
  • statusCode() public
    Получение кода состояния из ответа.
  • version() public
    Получение используемой HTTP-версии.
  • withStatus() public

Подробное описание методов

__construct()source public

__construct( array $headers [] , string $body '' )

Конструктор

Параметры

массив $headers необязательный []
Необработанные заголовки.
строка $body необязательный ''
Тело ответа.

__get()source public

__get( string $name )

Чтение значений как свойств.

Параметры

строка $name
Имя свойства.

Возвращает

смешанный

__isset()source public

__isset( string $name )

Проверка isset/empty с помощью -> синтаксиса.

Параметры

строка $name
Имя свойства.

Возвращает

булево

_decodeGzipBody()source protected

_decodeGzipBody( string $body )

Распаковка ответа gzip.

Ищет сигнатуры gzip, и если gzinflate() существует, тело будет распаковано.

Параметры

строка $body
Тело, закодированное gzip.

Возвращает

строка

Исключения

RuntimeException
При попытке декодировать gzip-контент без gzinflate.

_getBody()source protected

_getBody( )

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

Возвращает

массив

_getHeaders()source protected

_getHeaders( )

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

Возвращает

массив

_getJson()source protected

_getJson( )

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

Возвращает

массив|null

_getXml()source protected

_getXml( )

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

Возвращает

null|SimpleXMLElement

_parseCookie()source protected

_parseCookie( string $value )

Разбор заголовка cookie в данные.

Параметры

строка $value
Значение cookie для разбора.

_parseHeaders()source protected

_parseHeaders( array $headers )

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

  • Декодирование кода состояния и фразы причины.
  • Разбор и нормализация имен + значений заголовков.

Параметры

массив $headers
Заголовки для разбора.

body()source public

body( callable|null $parser null )

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

Передав вызываемую функцию $parser, вы можете получить декодированное содержимое ответа.

Например, чтобы получить данные JSON в виде объекта:

$body = $response->body('json_decode');

Параметры

вызываемая функция|null $parser необязательно null

Обработчик для декодирования тела ответа.

Возвращает

смешанный
Тело ответа.

Переопределяет

Cake\Http\Client\Message::body()

cookie()source public

cookie( string|null $name null , boolean $all false )

Чтение одного или нескольких значений cookie.

Примечание Этот метод предоставит доступ только к cookie, добавленным в рамках конструктора. Если cookie добавляются после построения, к ним нельзя получить доступ через этот метод.

Устарело

3.3.0 Используйте getCookie(), getCookieData() или getCookies() вместо этого.

Параметры

строка|null $name необязательно null

Имя cookie, которое вы хотите. Оставьте null, чтобы получить все cookie.

логическое $all необязательно false

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

Возвращает

смешанный

encoding()source public

encoding( )

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

Устарело

3.3.0 Используйте getEncoding() вместо этого.

Возвращает

строка|null

getCookie()source public

getCookie( string $name )

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

Параметры

строка $name
Имя значения cookie.

Возвращает

строка|null
Либо значение cookie, либо null, если cookie не определено.

getCookieData()source public

getCookieData( string $name )

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

Параметры

строка $name
Имя значения cookie.

Возвращает

массив|null
Либо данные cookie, либо null, если cookie не определено.

getCookies()source public

getCookies( )

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

Возвращает

массив
Данные cookie

getEncoding()source public

getEncoding( )

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

Возвращает

строка|null

getReasonPhrase()source public

getReasonPhrase( )

Возвращает

строка
Текущая фраза причины.

getStatusCode()source public

getStatusCode( )

Возвращает

целое число
Код состояния.

header()source public

header( string|null $name null )

Чтение одного или нескольких значений заголовка.

Устарело

3.3.0 Используйте getHeader() и getHeaderLine() вместо этого.

Параметры

строка|null $name необязательно null

Имя заголовка, которое вы хотите. Оставьте null, чтобы получить все заголовки.

Возвращает

смешанный

Null, если заголовок не существует. Массив будет возвращён при получении всех заголовков или при получении заголовка, имеющего несколько значений. В противном случае будет возвращена строка.


isOk()source public

isOk( )

Проверка, был ли ответ OK

Возвращает

логическое

isRedirect()source public

isRedirect( )

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

Возвращает

логическое

statusCode()source public

statusCode( )

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

Устарело

3.3.0 Используйте getStatusCode() вместо этого.

Возвращает

целое число

version()source public

version( )

Получить используемую версию HTTP.

Устарело

3.3.0 Используйте getProtocolVersion()

Возвращает

строка

withStatus()source public

withStatus( integer $code , string $reasonPhrase '' )

Параметры

целое число $code
Код состояния, который нужно установить.
строка $reasonPhrase необязательно ''
Фраза причины состояния.

Возвращает

Cake\Http\Client\Response
Копию текущего объекта с обновлённым кодом состояния.

Методы, унаследованные от Cake\Http\Client\Message

cookies()source public

cookies( )

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

Возвращает

массив

headers()source public

headers( )

Получить все заголовки

Устарело

3.3.0 Используйте getHeaders() вместо этого.

Возвращает

массив

Подробности свойств

$_exposedPropertiessource

protected массив

Карта имен свойств public => для __get()

[
    'cookies' => '_cookies',
    'body' => '_getBody',
    'code' => 'code',
    'json' => '_getJson',
    'xml' => '_getXml',
    'headers' => '_getHeaders',
]

$_jsonsource

protected массив

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

$_xmlsource

protected SimpleXMLElement

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

$codesource

protected целое число

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

END_OF_DOCUMENT_MARKER

$reasonPhrasesource

protected строка

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

© 2005–2017 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/3.3/class-Cake.Http.Client.Response.html

Spec-Zone.ru

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