Класс 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\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 - Экземпляр коллекции куки
$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Разбор заголовков при необходимости.
- Получить тело ответа.
- buildCookieCollection() protectedЛениво создает CookieCollection и cookie-объекты из заголовка ответа
- convertCookieToArray() protectedПреобразование cookie в массив его свойств.
- Чтение одного/нескольких значений cookie.
- Получить кодировку, если она была установлена.
- getCookie() publicПолучить значение одного cookie.
- getCookieCollection() publicПолучить коллекцию cookie из этого ответа.
- getCookieData() publicПолучить полные данные для одного cookie.
- getCookies() publicПолучить все данные о cookie.
- getEncoding() publicПолучить кодировку, если она была установлена.
- getJson() publicПолучить тело ответа в виде декодированных данных JSON.
- getReasonPhrase() public
- getStatusCode() public
- getStringBody() publicПолучить тело ответа в виде строки.
- getXml() publicПолучить тело ответа в виде декодированных данных XML.
- Чтение одного/нескольких значений заголовка.
- isOk() publicПроверка, был ли ответ OK
- isRedirect() 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().
Возвращает
string_getCookies()source protected
_getCookies( )
Доступ к свойству $this->cookies
Возвращает
arrayМассив данных куки.
_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 )
Парсит заголовки при необходимости.
- Декодирует код состояния и фразу причины.
- Парсит и нормализует имена + значения заголовков.
Параметры
- array
$headers - Заголовки для парсинга.
body()source public deprecated
body( callable|null $parser = null )
Получение тела ответа.
Передав вызываемую функцию $parser, вы можете получить декодированное содержимое ответа.
Например, для получения JSON-данных в виде объекта:
$body = $response->body('json_decode'); Устарело
3.7.0 Используйте getStringBody()/getJson()/getXml() вместо этого.Параметры
- callable|null
$parseroptional null Функция обратного вызова для декодирования тела ответа.
Возвращает
mixedТело ответа.
Переопределяет
Cake\Http\Client\Message::body() buildCookieCollection()source protected
buildCookieCollection( )
Ленивое создание CookieCollection и объектов куки из заголовка ответа
convertCookieToArray()source protected
convertCookieToArray( Cake\Http\Cookie\CookieInterface $cookie )
Преобразование куки в массив его свойств.
Этот метод совместим со старым клиентским кодом, который ожидает строки дат вместо отметки времени.
Параметры
-
Cake\Http\Cookie\CookieInterface$cookie - Объект куки.
Возвращает
arraycookie()source public deprecated
cookie( string|null $name = null , boolean $all = false )
Чтение одного или нескольких значений куки.
Примечание Этот метод предоставляет доступ только к кукам, добавленным в конструкторе. Если куки добавляются после создания, они недоступны через этот метод.
Устарело
3.3.0 Используйте getCookie(), getCookieData() или getCookies() вместо этого.Параметры
- string|null
$nameoptional null Имя куки, которую вы хотите получить. Оставьте null, чтобы получить все куки.
- boolean
$alloptional false Получить все части куки. Когда false, возвращается только значение.
Возвращает
mixedencoding()source public deprecated
encoding( )
Получение кодировки, если она была установлена.
Устарело
3.3.0 Используйте getEncoding() вместо этого.Возвращает
string|nullgetCookie()source public
getCookie( string $name )
Получение значения одной куки.
Параметры
- string
$name - Имя значения куки.
Возвращает
string|array|nullЗначение куки или null, если куки не определена.
getCookieCollection()source public
getCookieCollection( )
Получение коллекции куки из этого ответа.
Этот метод предоставляет доступ к экземпляру CookieCollection ответа, позволяя взаимодействовать с объектами куки напрямую.
Возвращает
Cake\Http\Cookie\CookieCollectiongetCookieData()source public
getCookieData( string $name )
Получение полных данных для одной куки.
Параметры
- string
$name - Имя значения куки.
Возвращает
array|nullДанные куки или null, если куки не определена.
getEncoding()source public
getEncoding( )
Получение кодировки, если она была установлена.
Возвращает
string|nullgetJson()source public
getJson( )
Получение тела ответа в формате JSON, декодированные данные.
Возвращает
array|nullgetStringBody()source public
getStringBody( )
Получение тела ответа в виде строки.
Возвращает
stringgetXml()source public
getXml( )
Получение тела ответа в формате XML, декодированные данные.
Возвращает
null|SimpleXMLElementheader()source public deprecated
header( string|null $name = null )
Чтение одного или нескольких значений заголовка.
Устарело
3.3.0 Используйте getHeader() и getHeaderLine() вместо этого.Параметры
- string|null
$nameoptional null Имя заголовка, который вы хотите получить. Оставьте null, чтобы получить все заголовки.
Возвращает
mixedNull, если заголовок не найден. Массив будет возвращен при получении всех заголовков или при получении заголовка, имеющего несколько значений. В противном случае будет возвращена строка.
isRedirect()source public
isRedirect( )
Проверить, был ли код состояния ответа перенаправлением.
Возвращает
booleanstatusCode()source public deprecated
statusCode( )
Получить код состояния из ответа
Устарело
3.3.0 Используйте getStatusCode() вместо этого.Возвращает
целое числоversion()source public deprecated
version( )
Получить используемую версию HTTP.
Устарело
3.3.0 Используйте getProtocolVersion()Возвращает
строкаwithStatus()source public
withStatus( integer $code , string $reasonPhrase = '' )
Параметры
- целое число
$code - Код состояния, который нужно установить.
- строка
$reasonPhraseнеобязательно '' - Фраза описания кода состояния.
Возвращает
$this Копия текущего объекта с обновлённым кодом состояния.
Методы, унаследованные от Cake\Http\Client\Message
headers()source public deprecated
headers( )
Получить все заголовки
Устарело
3.3.0 Используйте getHeaders() вместо этого.Возвращает
массивПодробности свойств
$_exposedPropertiessource
protected массив
Карта имен свойств публичного доступа для __get()
[
'cookies' => '_getCookies',
'body' => '_getBody',
'code' => 'code',
'json' => '_getJson',
'xml' => '_getXml',
'headers' => '_getHeaders',
]
© 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/3.8/class-Cake.Http.Client.Response.html