Класс 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_NON_AUTHORITATIVE_INFORMATION,STATUS_NO_CONTENT,STATUS_OK,STATUS_SEE_OTHER,STATUS_TEMPORARY_REDIRECT
Краткое описание свойств
-
$_exposedPropertiesprotectedКарта public => имена свойств для __get()array -
$_jsonprotectedКэшированные декодированные данные JSON.array -
$_xmlprotectedКэшированные декодированные данные XML.SimpleXMLElement -
$codeprotectedКод состояния ответа.integer - Экземпляр Cookie Collection
$cookiesprotected -
$reasonPhraseprotectedФраза причины кода состоянияstring
Унаследованные магические свойства
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- __get() publicЧтение значений как свойств.
- __isset() publicПроверка isset/empty с синтаксисом ->.
- _decodeGzipBody() protectedРаспаковка сжатого gzip ответа.
- _getBody() protectedПоддержка магической функции __get().
- _getCookies() protectedДоступ к свойству
$this->cookies - _getHeaders() protectedПоддержка магической функции __get().
- _getJson() protectedПолучение тела ответа в виде декодированных данных JSON.
- _getXml() protectedПолучение тела ответа в виде декодированных данных XML.
- _parseHeaders() protectedРазбор заголовков при необходимости.
- body() publicПолучение тела ответа.
- buildCookieCollection() protectedЛенивое создание CookieCollection и объектов cookie из заголовка ответа
- convertCookieToArray() protectedПреобразование cookie в массив его свойств.
- cookie() publicЧтение значений одного/нескольких cookie.
- encoding() publicПолучение кодировки, если она была установлена.
- getCookie() publicПолучение значения одного cookie.
- getCookieCollection() 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 '' )
Конструктор
Параметры
- array
$headersoptional [] - Необработанные заголовки.
- string
$bodyoptional '' - Тело ответа.
__get()source public
__get( string $name )
Чтение значений как свойств.
Параметры
- string
$name - Имя свойства.
Возвращает
mixed__isset()source public
__isset( string $name )
Проверка isset/empty с синтаксисом ->.
Параметры
- string
$name - Имя свойства.
Возвращает
boolean_decodeGzipBody()source protected
_decodeGzipBody( string $body )
Распаковка сжатого gzip ответа.
Ищет сигнатуры gzip, и если gzinflate() существует, тело будет распаковано.
Параметры
- string
$body - Тело, закодированное gzip.
Возвращает
stringИсключения
RuntimeExceptionПри попытке декодирования gzip-контента без gzinflate.
_getCookies()source protected
_getCookies( )
Доступ к свойству $this->cookies
Возвращает
arrayМассив данных Cookie.
_getHeaders()source protected
_getHeaders( )
Предоставляет поддержку магического метода __get().
Возвращает
array_getJson()source protected
_getJson( )
Получить тело ответа в виде декодированных данных JSON.
Возвращает
array|null_getXml()source protected
_getXml( )
Получить тело ответа в виде декодированных данных XML.
Возвращает
null|SimpleXMLElement_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 Обратный вызов для декодирования тела ответа.
Возвращает
mixedТело ответа.
Переопределяет
Cake\Http\Client\Message::body() buildCookieCollection()source protected
buildCookieCollection( )
Лениво создает CookieCollection и объекты cookie из заголовка ответа
convertCookieToArray()source protected
convertCookieToArray( Cake\Http\Cookie\CookieInterface $cookie )
Преобразует cookie в массив его свойств.
Этот метод совместим со старым клиентским кодом, который ожидает строковые даты вместо метки времени.
Параметры
-
Cake\Http\Cookie\CookieInterface$cookie - Объект cookie.
Возвращает
arraycookie()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.
- boolean
$allнеобязательно false Получить все части cookie. Если false, возвращается только значение.
Возвращает
mixedencoding()source public
encoding( )
Получить кодировку, если она была установлена.
Устарело
3.3.0 Используйте getEncoding() вместо этого.Возвращает
строка|nullgetCookie()source public
getCookie( string $name )
Получить значение отдельного cookie.
Параметры
- строка
$name - Имя значения cookie.
Возвращает
строка|nullЗначение cookie или null, если cookie не определено.
getCookieCollection()source public
getCookieCollection( )
Получить коллекцию cookie из этого ответа.
Этот метод предоставляет доступ к экземпляру CookieCollection ответа, позволяя напрямую взаимодействовать с объектами cookie.
Возвращает
Cake\Http\Cookie\CookieCollectiongetCookieData()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 для получения всех заголовков.
Возвращает
mixedNull, если заголовок не существует. Массив будет возвращён при получении всех заголовков или когда для заголовка было задано несколько значений. В противном случае будет возвращена строка.
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необязательно '' - Фраза причины состояния.
Возвращаемое значение
$this Копия текущего объекта с обновлённым кодом состояния.
Методы, унаследованные от Cake\Http\Client\Message
headers()source public
headers( )
Получить все заголовки
Устарело
3.3.0 Используйте getHeaders() вместо этого.Возвращаемое значение
массивПодробное описание свойств
$_exposedPropertiessource
protected массив
Карта имен свойств public => property для __get()
[
'cookies' => '_getCookies',
'body' => '_getBody',
'code' => 'code',
'json' => '_getJson',
'xml' => '_getXml',
'headers' => '_getHeaders',
]
© 2005–2018 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.5/class-Cake.Http.Client.Response.html