Класс 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Карта имен публичных свойств для __get()array -
$_jsonprotectedКэшированные декодированные данные JSON.array -
$_xmlprotectedКэшированные декодированные данные XML.SimpleXMLElement -
$codeprotectedКод состояния ответа.integer - Экземпляр CookieCollection
$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 '' )
Конструктор
Параметры
- массив
$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().
Возвращает
массив_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 )
Парсит заголовки при необходимости.
- Декодирует код состояния и фразу причины.
- Парсит и нормализует имена + значения заголовков.
Параметры
- array
$headers - Заголовки для парсинга.
body()source public
body( callable|null $parser null )
Получить тело ответа.
Передавая вызываемый объект $parser, вы можете получить обратно декодированное содержимое ответа.
Например, чтобы получить данные json как объект:
$body = $response->body('json_decode'); Параметры
- callable|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() вместо этого.Параметры
- string|null
$nameнеобязательно null Имя cookie, которое вы хотите. Оставьте null, чтобы получить все cookie.
- boolean
$allнеобязательно false Получить все части cookie. Когда false, возвращается только значение.
Возвращает
mixedencoding()source public
encoding( )
Получить кодировку, если она была установлена.
Устарело
3.3.0 Используйте getEncoding() вместо этого.Возвращает
string|nullgetCookie()source public
getCookie( string $name )
Получить значение одного cookie.
Параметры
- string
$name - Имя значения cookie.
Возвращает
string|nullЗначение cookie или null, если cookie не определено.
getCookieCollection()source public
getCookieCollection( )
Получить коллекцию cookie из этого ответа.
Этот метод предоставляет экземпляр CookieCollection ответа, позволяя взаимодействовать с объектами cookie напрямую.
Возвращает
Cake\Http\Cookie\CookieCollectiongetCookieData()source public
getCookieData( string $name )
Получить полные данные для одного cookie.
Параметры
- string
$name - Имя значения cookie.
Возвращает
array|nullДанные cookie или null, если cookie не определено.
getEncoding()source public
getEncoding( )
Получить кодировку, если она была установлена.
Возвращает
string|nullheader()source public
header( string|null $name null )
Чтение одного/нескольких значений заголовков.
Устарело
3.3.0 Используйте getHeader() и getHeaderLine() вместо этого.Параметры
- string|null
$nameнеобязательно null Имя заголовка, которое вы хотите. Оставьте null, чтобы получить все заголовки.
Возвращает
mixedNull, если заголовок не существует. Массив будет возвращен при получении всех заголовков или при получении заголовка, для которого было задано несколько значений. В противном случае будет возвращена строка.
isRedirect()source public
isRedirect( )
Проверка, был ли в ответе код состояния перенаправления.
Возвращает
booleanstatusCode()source public
statusCode( )
Получить код состояния из ответа
Устарело
3.3.0 Используйте getStatusCode() вместо этого.Возвращает
integerversion()source public
version( )
Получить используемую версию HTTP.
Устарело
3.3.0 Используйте getProtocolVersion()Возвращает
stringwithStatus()source public
withStatus( integer $code , string $reasonPhrase '' )
Параметры
- integer
$code - Код состояния для установки.
- string
$reasonPhraseнеобязательно '' - Фраза причины состояния.
Возвращаемое значение
$this Копия текущего объекта с обновленным кодом состояния.
Методы, унаследованные от Cake\Http\Client\Message
headers()source public
headers( )
Получить все заголовки
Устаревшее
3.3.0 Используйте getHeaders() вместо этого.Возвращаемое значение
arrayПодробности свойств
$_exposedPropertiessource
protected array
Карта имен свойств public => для __get()
[
'cookies' => '_getCookies',
'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.4/class-Cake.Http.Client.Response.html