Класс 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Карта имен общедоступных свойств для __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.
- Получение кодировки, если она была установлена.
- getCookie() publicПолучение значения одной cookie.
- getCookieCollection() publicПолучение коллекции cookie из данного ответа.
- getCookieData() publicПолучение полных данных для одной cookie.
- getCookies() publicПолучение всех данных cookie.
- getEncoding() publicПолучение кодировки, если она была установлена.
- getReasonPhrase() public
- getStatusCode() public
- Чтение одиночного/множественного значения заголовка.
- 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().
Возвращает
array_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 deprecated
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, возвращается только значение.
Возвращает
mixedencoding()source public deprecated
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 deprecated
header( string|null $name = null )
Считывает значения одного/нескольких заголовков.
Устаревший
3.3.0 Используйте getHeader() и getHeaderLine() вместо этого.Параметры
- строка|null
$nameнеобязательный null Имя заголовка, который вы хотите. Оставьте null, чтобы получить все заголовки.
Возвращает
mixedNull, если заголовок не существует. Массив будет возвращен при получении всех заголовков или при получении заголовка, для которого было задано несколько значений. В противном случае будет возвращена строка.
statusCode()source public deprecated
statusCode( )
Получить код состояния из ответа
Устаревший
3.3.0 Используйте getStatusCode() вместо этого.Возвращает
целое числоversion()source public deprecated
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 deprecated
headers( )
Получить все заголовки
Устарело
3.3.0 Используйте getHeaders() вместо этого.Возвращает
arrayПодробности свойств
$_exposedPropertiessource
protected array
Карта имен свойств public => для __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.6/class-Cake.Http.Client.Response.html