Класс 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Карта публичных => имена свойств для __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 и объектов куки из заголовка ответа
- convertCookieToArray() protectedПреобразует куки в массив его свойств.
- Чтение значений одного/нескольких куки.
- Получение кодировки, если она была установлена.
- getCookie() publicПолучение значения одной куки.
- getCookieCollection() publicПолучение коллекции куки из этого ответа.
- getCookieData() publicПолучение полных данных для одной куки.
- getCookies() publicПолучение всех данных куки.
- 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().
Возвращает
строку_getCookies()source protected
_getCookies( )
Доступ к свойству $this->cookies
Возвращает
массивМассив данных Cookie.
_getHeaders()source protected
_getHeaders( )
Предоставляет поддержку магического __get().
Возвращает
массив_getJson()source protected
_getJson( )
Получить тело ответа в виде декодированных данных JSON.
Возвращает
массив|null_getXml()source protected
_getXml( )
Получить тело ответа в виде декодированных данных XML.
Возвращает
null|SimpleXMLElement_parseHeaders()source protected
_parseHeaders( array $headers )
Обрабатывает заголовки при необходимости.
- Декодирует код состояния и фразу причины.
- Обрабатывает и нормализует имена + значения заголовков.
Параметры
- массив
$headers - Заголовки для обработки.
body()source public deprecated
body( callable|null $parser = null )
Получить тело ответа.
Передав вызываемую функцию $parser, вы можете получить обратно декодированное содержимое ответа.
Например, чтобы получить данные json как объект:
$body = $response->body('json_decode'); Устарело
3.7.0 Используйте getStringBody()/getJson()/getXml() вместо этого.Параметры
- вызываемая функция|null
$parserопционально null Обработчик, который нужно использовать для декодирования тела ответа.
Возвращает
смешанноеТело ответа.
Переопределяет
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.
Возвращает
массивcookie()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 возвращается только значение.
Возвращает
смешанноеencoding()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( )
Получить кодировку, если она была установлена.
Возвращает
строка|nullgetJson()source public
getJson( )
Получить тело ответа в виде декодированных данных JSON.
Возвращает
массив|nullgetXml()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().Возвращает
integerversion()source public deprecated
version( )
Получение используемой версии HTTP.
Устаревшее
3.3.0 Используйте getProtocolVersion()Возвращает
stringwithStatus()source public
withStatus( integer $code , string $reasonPhrase = '' )
Параметры
- integer
$code - Код состояния для установки.
- string
$reasonPhraseoptional '' - Фраза описания состояния.
Возвращает
$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.7/class-Cake.Http.Client.Response.html