Класс Response
Реализует методы для HTTP-ответов.
Все следующие примеры предполагают, что $response является экземпляром этого класса.
Получение значений заголовков
Имена заголовков нечувствительны к регистру, но при разборе ответа нормализуются в верхнем регистре.
$val = $response->header('content-type'); Прочитает заголовок Content-Type. Вы можете получить все установленные заголовки, используя:
$response->header();
Вы также можете получить заголовки, используя доступ к объекту. При получении заголовков с доступом к объекту вам необходимо использовать имена заголовков, чувствительные к регистру:
$val = $response->headers['Content-Type'];
Получение тела ответа
Вы можете получить доступ к телу ответа, используя:
$content = $response->body();
Вы также можете использовать доступ к объекту:
$content = $response->body;
Если тело ответа находится в формате XML или JSON, вы можете использовать специальные методы доступа, специфичные для типа содержимого, для чтения декодированных данных. Данные JSON будут возвращены в виде массивов, а данные XML — в виде узлов SimpleXML:
// Get as xml $content = $response->xml // Get as json $content = $response->json
Если ответ не может быть декодирован, будет возвращено значение null.
Проверка кода состояния
Вы можете получить доступ к коду состояния ответа, используя:
$content = $response->statusCode();
Вы также можете использовать доступ к объекту:
$content = $response->code;
- Cake\Network\Http\Message
-
Cake\Network\Http\Response
Наследованные константы
-
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
Резюме свойств
-
$_bodyprotectedТело ответаstring -
$_codeprotectedКод состояния ответа.integer -
$_exposedPropertiesprotectedКарта имен публичных свойств для __get()array -
$_jsonprotectedКэшированные декодированные данные JSON.array -
$_xmlprotectedКэшированные декодированные данные XML.SimpleXMLElement
Наследованные свойства
Резюме методов
- __construct() publicКонструктор
- __get() publicЧтение значений как свойств.
- __isset() publicПроверка isset/empty с синтаксисом ->.
- _decodeGzipBody() protectedРаспаковка gzip-ответа.
- _getJson() protectedПолучение тела ответа в виде декодированных данных JSON.
- _getXml() protectedПолучение тела ответа в виде декодированных данных XML.
- _parseCookie() protectedРазбор заголовка cookie в данные.
- _parseHeaders() protectedРазбор заголовков при необходимости.
- body() publicПолучение тела ответа.
- cookie() publicЧтение значений cookie (одного или нескольких).
- encoding() publicПолучение кодировки, если она была установлена.
- header() publicЧтение значений заголовка (одного или нескольких).
- isOk() publicПроверка, был ли ответ OK.
- isRedirect() publicПроверка, был ли ответ перенаправлением.
- statusCode() publicПолучение кода состояния ответа.
Подробное описание методов
__construct()source public
__construct( array $headers [] , string $body '' )
Конструктор
Параметры
- массив
$headersнеобязательно [] - Необработанные заголовки.
- строка
$bodyнеобязательно '' - Тело ответа.
__get()source public
__get( string $name )
Чтение значений как свойств.
Параметры
- строка
$name - Имя свойства.
Возвращает
mixed__isset()source public
__isset( string $name )
Проверка isset/empty с синтаксисом ->.
Параметры
- строка
$name - Имя свойства.
Возвращает
boolean_decodeGzipBody()source protected
_decodeGzipBody( string $body )
Распаковка gzip-ответа.
Ищет gzip-подписи и, если gzinflate() существует, тело будет распаковано.
Параметры
- строка
$body - Тело, закодированное в gzip.
Возвращает
строкаВыбрасывает
RuntimeExceptionПри попытке декодировать gzip-содержимое без gzinflate.
_getJson()source protected
_getJson( )
Получение тела ответа в виде декодированных данных JSON.
Возвращает
mixed_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 Обратный вызов для декодирования тела ответа.
Возвращает
mixedТело ответа.
Переопределяет
Cake\Network\Http\Message::body() cookie()source public
cookie( string|null $name null , boolean $all false )
Чтение значений одного или нескольких куки.
Параметры
- string|null
$nameнеобязательный null Имя куки, которое вы хотите получить. Оставьте null, чтобы получить все куки.
- boolean
$allнеобязательный false Получить все части куки. Если false, возвращается только значение.
Возвращает
mixedencoding()source public
encoding( )
Получение кодировки, если она была установлена.
Возвращает
string|nullheader()source public
header( string|null $name null )
Чтение значений одного или нескольких заголовков.
Параметры
- string|null
$nameнеобязательный null Имя заголовка, который вы хотите получить. Оставьте null, чтобы получить все заголовки.
Возвращает
mixedNull, если заголовок не существует. Массив будет возвращён, если получаются все заголовки или заголовок, у которого было несколько значений. В противном случае будет возвращена строка.
Методы, унаследованные от Cake\Network\Http\Message
_normalizeHeader()source protected
_normalizeHeader( string $name )
Нормализация имён заголовков в формате CamelCase.
Параметры
- string
$name - Имя заголовка для нормализации.
Возвращает
stringНормализованное имя заголовка.
Подробности свойств
$_exposedPropertiessource
protected array
Карта публичных => имён свойств для __get()
[
'cookies' => '_cookies',
'headers' => '_headers',
'body' => '_body',
'code' => '_code',
'json' => '_getJson',
'xml' => '_getXml'
]
© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.Network.Http.Response.html