Класс 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
-
Cake\Http\Client\Response реализует Psr\Http\Message\ResponseInterface использует Zend\Diactoros\MessageTrait
Унаследованные константы
-
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
Краткое описание свойств
-
$_exposedPropertiesprotectedКарта public => имена свойств для __get()array -
$_jsonprotectedКэшированные декодированные данные JSON.array -
$_xmlprotectedКэшированные декодированные данные XML.SimpleXMLElement -
$codeprotectedКод состояния ответа.integer -
$reasonPhraseprotectedФраза причины для кода состоянияstring
Унаследованные свойства
Краткое описание методов
- __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() вместо этого.Возвращает
строка|nullgetCookie()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 не определено.
getEncoding()source public
getEncoding( )
Получить кодировку, если она была задана.
Возвращает
строка|nullheader()source public
header( string|null $name null )
Чтение одного или нескольких значений заголовка.
Устарело
3.3.0 Используйте getHeader() и getHeaderLine() вместо этого.Параметры
- строка|null
$nameнеобязательно null Имя заголовка, которое вы хотите. Оставьте null, чтобы получить все заголовки.
Возвращает
смешанныйNull, если заголовок не существует. Массив будет возвращён при получении всех заголовков или при получении заголовка, имеющего несколько значений. В противном случае будет возвращена строка.
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
headers()source public
headers( )
Получить все заголовки
Устарело
3.3.0 Используйте getHeaders() вместо этого.Возвращает
массивПодробности свойств
$_exposedPropertiessource
protected массив
Карта имен свойств public => для __get()
[
'cookies' => '_cookies',
'body' => '_getBody',
'code' => 'code',
'json' => '_getJson',
'xml' => '_getXml',
'headers' => '_getHeaders',
]
© 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