Класс Response
Класс Cake Response отвечает за управление текстом ответа, статусом и заголовками HTTP-ответа.
По умолчанию контроллеры будут использовать этот класс для рендеринга своего ответа. Если вы собираетесь использовать пользовательский класс ответа, он должен быть подклассом этого объекта, чтобы обеспечить совместимость.
Прямые подклассы
Краткое описание свойств
-
$_bodyprotectedСтрока или вызываемый объект буфера для сообщения ответаstring|callable -
$_cacheDirectivesprotectedarrayСодержит все директивы кэширования, которые будут преобразованы в заголовки при отправке запроса
-
$_charsetprotectedКодировка символов тела ответаstring -
$_contentTypeprotectedstringТип контента для отправки. Может быть 'расширением', которое будет преобразовано с помощью массива $_mimetypes, или полным MIME-типом
-
$_cookiesprotectedСодержит куки для отправки клиентуarray - Объект файла для считывания файла как ответа
$_fileprotected -
$_fileRangeprotectedДиапазон файла. Используется для запроса диапазонов файлов.array -
$_headersprotectedСписок буфера заголовковarray -
$_mimeTypesprotectedСодержит сопоставления ключей типа к MIME-типам для известных MIME-типов.array -
$_protocolprotectedЗаголовок протокола для отправки клиентуstring -
$_statusprotectedКод состояния для отправки клиентуinteger -
$_statusCodesprotectedСодержит HTTP-статусы ответовarray
Краткое описание методов
- __construct() publicКонструктор
- __debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
- __toString() public
Преобразование в строку. Получает тело ответа в виде строки. Не отправляет заголовки. Если тело является вызываемым объектом, возвращается пустая строка.
- _clearBuffer() protectedОчищает содержимое верхнего выходного буфера и отбрасывает его
- _fileRange() protectedПрименяет диапазон файла к файлу и устанавливает конечный смещение.
- _flushBuffer() protectedОчищает содержимое выходного буфера
- _getUTCDate() protected
Возвращает объект DateTime, инициализированный в параметре $time и использующий часовой пояс UTC.
- _isActive() protectedВозвращает true, если соединение всё ещё активно
- _sendContent() protectedОтправляет строку содержимого клиенту.
- _sendFile() protectedЧитает файл и выводит содержимое в клиент.
- _sendHeader() protectedОтправляет заголовок клиенту.
- _setCacheControl() protected
Вспомогательный метод для создания валидного заголовка Cache-Control из опций, заданных в других методах
- _setContent() protectedУстанавливает тело ответа на пустой текст, если код состояния равен 204 или 304
- _setContentType() protected
Форматирует заголовок Content-Type на основе настроенного contentType и кодировки символов. Кодировка символов будет установлена только в заголовке, если тип ответа — text/*
- _setCookies() protected
Устанавливает куки, добавленные с помощью Cake\Network\Response::cookie(), перед отправкой любого другого вывода клиенту. Куки будут установлены в порядке, в котором они были заданы.
- body() public
Буферизует сообщение ответа для отправки. Если $content равен null, возвращается текущий буфер.
- cache() publicУстанавливает правильные заголовки для указания клиенту кешировать ответ.
- charset() public
Устанавливает кодировку символов ответа. Если $charset равен null, возвращается текущая кодировка символов.
- checkNotModified() public
Проверяет, не был ли ответ изменён в соответствии с заголовками запроса «If-None-Match» (Etag) и «If-Modified-Since» (дата последнего изменения). Если обнаруживается, что ответ не был изменён, он отмечается как таковой, чтобы об этом можно было проинформировать клиента.
- compress() public
Устанавливает правильный обработчик буферизации вывода для отправки сжатого ответа. Ответы будут сжиматься с помощью zlib, если расширение доступно.
- cookie() publicПолучение/установка конфигураций куки
- cors() publicНастройка доступа для источника и методов при запросах с разных источников
- disableCache() publicУстанавливает правильные заголовки для указания клиенту не кешировать ответ
- download() publicУстанавливает правильные заголовки для указания браузеру загрузить ответ как файл.
- etag() public
Устанавливает Etag ответа. Etags — это сильный показатель того, что ответ может быть помещён в кэш HTTP-клиентом. Плохой способ генерации Etags — создание хеша выходных данных ответа, вместо этого создайте уникальный хеш уникальных компонентов, которые идентифицируют запрос, такие как время модификации, идентификатор ресурса и всё остальное, что вы считаете уникальным.
- expires() public
Устанавливает заголовок Expires для ответа, взяв время истечения срока действия. Если вызвана без параметров, она вернёт текущее значение Expires.
- file() publicНастройка отображения или загрузки заданного файла.
- getFile() publicПолучить текущий файл, если он существует.
- getMimeType() publicВозвращает определение типа MIME для псевдонима
- header() public
Буферизует строку заголовка для отправки. Возвращает полный список буферизованных заголовков.
- httpCodes() publicЗапрос и установка допустимых кодов и сообщений HTTP-ответа.
- length() public
Устанавливает заголовок Content-Length для ответа. Если вызвана без аргументов, возвращает последний установленный Content-Length.
- location() publicДоступ к заголовку расположения.
- mapType() publicСопоставляет тип содержимого обратно с псевдонимом
- maxAge() public
Устанавливает директиву Cache-Control max-age. max-age — это количество секунд после которого ответ больше не должен рассматриваться как подходящий для получения из локального кэша (клиента). Если вызвана без параметров, эта функция вернёт текущее значение max-age, если оно есть.
- modified() public
Устанавливает заголовок Last-Modified для ответа, взяв время модификации. Если вызвана без параметров, она вернёт текущее значение Last-Modified.
- mustRevalidate() public
Устанавливает директиву Cache-Control must-revalidate. must-revalidate указывает, что ответ не должен подаваться устаревшим кэшем при каких-либо обстоятельствах без предварительной перевалидации с исходником. Если вызвана без параметров, эта функция вернёт, присутствует ли must-revalidate.
- notModified() public
Устанавливает ответ как Не Изменён, удаляя содержимое тела, устанавливая код состояния на «304 Не Изменён» и удаляя все конфликтующие заголовки.
- outputCompressed() publicВозвращает, будет ли результирующий вывод сжат PHP
- protocol() public
Устанавливает протокол, который будет использоваться при отправке ответа. По умолчанию HTTP/1.1. Если вызвана без аргументов, она вернёт текущий настроенный протокол.
- send() public
Отправляет полный ответ клиенту, включая заголовки и тело сообщения. Выведет содержимое в теле ответа.
- sendHeaders() publicОтправляет HTTP-заголовки и куки.
- sharable() public
Устанавливает, может ли ответ быть помещён в кэш промежуточными прокси. Этот метод управляет директивой
publicилиprivateв заголовке Cache-Control. - sharedMaxAge() public
Устанавливает директиву Cache-Control s-maxage. max-age — это количество секунд после которого ответ больше не должен рассматриваться как подходящий для получения из общего кэша (например, в прокси-сервере). Если вызвана без параметров, эта функция вернёт текущее значение max-age, если оно есть.
- statusCode() public
Устанавливает код HTTP-статуса, который будет отправлен. Если $code равен null, возвращается текущий код.
- stop() public
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
- type() public
Устанавливает тип содержимого ответа. Он может быть либо расширением файла, которое будет сопоставлено с типом MIME внутри, либо строкой, представляющей тип MIME, если $contentType равен null, возвращается текущий тип содержимого, если $contentType является ассоциативным массивом, определения типов содержимого будут храниться/заменяться
- vary() public
Устанавливает заголовок Vary для ответа; если передается массив, значения будут объединены в строку, разделенную запятыми. Если параметры не переданы, возвращается массив с текущим значением заголовка Vary
Подробное описание методов
__construct()source public
__construct( array $options [] )
Конструктор
Параметры
- массив
$optionsнеобязательно [] список параметров для настройки ответа. Возможные значения: - body: текст ответа, который должен быть отправлен клиенту - statusCodes: дополнительные допустимые коды ответа - status: код HTTP-статуса для ответа - type: полная строка типа MIME или расширение, сопоставленное в этом классе - charset: кодировка символов для тела ответа
__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
массив__toString()source public
__toString( )
Преобразование в строку. Извлекает тело ответа как строку. Не отправляет заголовки. Если body является вызываемым объектом, возвращается пустая строка.
Возвращает
строка_clearBuffer()source protected
_clearBuffer( )
Очищает содержимое верхнего буфера вывода и удаляет его
Устарело
3.2.4 Эта функция больше не нужнаВозвращает
логическое значение_fileRange()source protected
_fileRange( Cake\Filesystem\File $file , string $httpRange )
Применяет диапазон файлов к файлу и устанавливает конечный смещение.
Если запрос диапазона недействителен, в ответе будет использоваться код 416.
Параметры
-
Cake\Filesystem\File$file - Файл, для которого устанавливается диапазон.
- строка
$httpRange - Диапазон, который нужно использовать.
_flushBuffer()source protected
_flushBuffer( )
Очищает содержимое буфера вывода
Устарело
3.2.4 Эта функция больше не нужна_getUTCDate()source protected
_getUTCDate( string|integer|DateTime|null $time null )
Возвращает объект DateTime, инициализированный параметром $time и использующий часовой пояс UTC.
Параметры
- строка|целое число|DateTime|null
$timeнеобязательно null - Действительная строка времени или экземпляр \DateTime.
Возвращает
DateTime_isActive()source protected
_isActive( )
Возвращает true, если соединение по-прежнему активное
Возвращает
логическое значение_sendContent()source protected
_sendContent( string|callable $content )
Отправляет строку содержимого клиенту.
Если содержимое является вызываемым объектом, он вызывается. Вызываемый объект должен либо вернуть строку, либо вывести содержимое напрямую и не иметь возвращаемого значения.
Параметры
- строка|вызываемый объект
$content Строка, отправляемая в качестве тела ответа, или вызываемый объект, который возвращает/выводит содержимое.
_sendFile()source protected
_sendFile( Cake\Filesystem\File $file , array $range )
Считывает файл и выводит содержимое клиенту.
Параметры
-
Cake\Filesystem\File$file - Объект файла
- массив
$range - Диапазон для чтения из файла.
Возвращает
логическое значениеTrue, если весь файл успешно выведен, или false, если соединение с клиентом было потеряно во время процесса
_sendHeader()source protected
_sendHeader( string $name , string|null $value null )
Отправляет заголовок клиенту.
Параметры
- строка
$name - имя заголовка
- строка|null
$valueнеобязательно null - значение заголовка
_setCacheControl()source protected
_setCacheControl( )
Вспомогательный метод для создания допустимого заголовка Cache-Control из параметров, заданных в других методах
_setContent()source protected
_setContent( )
Устанавливает тело ответа на пустую строку текста, если код статуса равен 204 или 304
_setContentType()source protected
_setContentType( )
Форматирует заголовок Content-Type на основе настроенного contentType и charset; charset будет задан только в заголовке, если тип ответа — text/*
_setCookies()source protected
_setCookies( )
Устанавливает cookie, добавленные через Cake\Network\Response::cookie(), прежде чем любой другой вывод будет отправлен клиенту. Будет устанавливать cookie в порядке их добавления.
body()source public
body( string|callable|null $content null )
Буферизует сообщение ответа для отправки; если $content равен null, возвращается текущий буфер
Параметры
- строка|вызываемый объект|null
$contentнеобязательно null - строка или вызываемый объект сообщения для отправки
Возвращает
строкаТекущий буфер сообщений, если параметр $content передан как null
cache()source public
cache( string $since , string $time '+1 day' )
Устанавливает правильные заголовки, чтобы указать клиенту кешировать ответ.
Параметры
- строка
$since - действительное время, с момента последней модификации текста ответа
- строка
$timeнеобязательно '+1 day' - действительное время истечения срока действия кеша
charset()source public
charset( string|null $charset null )
Устанавливает кодировку символов ответа; если $charset равен null, возвращается текущая кодировка
Параметры
- строка|null
$charsetнеобязательно null - строка кодировки символов.
Возвращает
строкаТекущая кодировка
checkNotModified()source public
checkNotModified( Cake\Network\Request $request )
Проверяет, не был ли ответ изменён согласно заголовкам запроса 'If-None-Match' (Etag) и 'If-Modified-Since' (дата последней модификации). Если ответ, как выясняется, не был изменён, он помечается соответствующим образом, чтобы клиент об этом узнал.
Чтобы отметить ответ как не изменённый, необходимо установить как минимум заголовок ответа Last-Modified etag перед вызовом этого метода. Иначе сравнение не будет возможно.
Параметры
-
Cake\Network\Request$request - Объект запроса
Возвращает
логическое значениеПометку ответа как не изменённый или нет.
compress()source public
compress( )
Устанавливает правильный обработчик буферизации вывода для отправки сжатого ответа. Ответы будут сжаты с помощью zlib, если расширение доступно.
Возвращает
booleanfalse, если клиент не принимает сжатые ответы или обработчик недоступен, в противном случае true
cookie()source public
cookie( array|null $options null )
Получение/Установка настроек cookie
Этот метод действует как установщик/получатель в зависимости от типа аргумента. Если метод вызывается без аргументов, он возвращает все конфигурации.
Если метод вызывается со строковым аргументом, он возвращает заданную конфигурацию, если она установлена, или null, если она не установлена.
Если метод вызывается с массивом в качестве аргумента, он установит конфигурацию cookie в контейнер cookie.
### Параметры (при установке конфигурации) - name: Имя cookie - value: Значение cookie - expire: Время истечения срока действия cookie в - path: Путь, к которому применяется cookie - domain: Домен, для которого предназначен cookie - secure: Используется ли cookie HTTPS? - httpOnly: Доступен ли cookie в клиенте?
Примеры
Получение всех cookie
$this->cookie()
Получение определённой конфигурации cookie
$this->cookie('MyCookie')
Установка конфигурации cookie
$this->cookie((array) $options)
Параметры
- array|null
$optionsoptional null Либо null для получения всех cookie, строка для определённого cookie или массив для установки cookie.
Возвращает
mixedcors()source public
cors( Cake\Network\Request $request , string|array $allowedDomains [] , string|array $allowedMethods [] , string|array $allowedHeaders [] )
Настройка доступа к источнику и методам при кросс-доменных запросах
Этот метод позволяет устанавливать домены несколькими способами, см. примеры
Полный URI
cors($request, 'http://www.cakephp.org');
URI с подстановкой
cors($request, 'http://*.cakephp.org');
Игнорирование запрошенного протокола
cors($request, 'www.cakephp.org');
Любой URI
cors($request, '*');
Список разрешенных URI
cors($request, ['http://www.cakephp.org', '*.google.com', 'https://myproject.github.io']);
Примечание Параметры $allowedDomains, $allowedMethods, $allowedHeaders устарели. Вместо этого следует использовать объект билдера.
Параметры
-
Cake\Network\Request$request - Объект запроса
- string|array
$allowedDomainsoptional [] - Список разрешенных доменов, см. описание метода для получения дополнительной информации
- string|array
$allowedMethodsoptional [] - Список разрешенных HTTP-методов
- string|array
$allowedHeadersoptional [] - Список разрешенных HTTP-заголовков
Возвращает
Cake\Network\CorsBuilderОбъект билдера, предоставляющий удобный интерфейс для определения дополнительных заголовков CORS.
disableCache()source public
disableCache( )
Устанавливает правильные заголовки, чтобы указать клиенту не кэшировать ответ
download()source public
download( string $filename )
Устанавливает правильные заголовки, чтобы указать браузеру загрузить ответ как файл.
Параметры
- string
$filename - Название файла, как браузер загрузит ответ
etag()source public
etag( string|null $hash null , boolean $weak false )
Устанавливает заголовок Etag для ответа. Etag — это сильный индикатор того, что клиент HTTP может кэшировать ответ. Плохой способ генерации Etag — создание хэша выходных данных ответа. Вместо этого генерируйте уникальный хэш уникальных компонентов, которые идентифицируют запрос, такие как время изменения, идентификатор ресурса и всё остальное, что вы считаете уникальным.
Второй параметр используется для указания клиентам, что содержимое изменилось, но семантически он может использоваться так же. Например, представьте страницу со счётчиком посещений. Два разных просмотра страницы эквивалентны, но отличаются на несколько байтов. Это оставляет клиенту решение использовать или не использовать кэшированную страницу.
Если параметры не переданы, возвращается текущий заголовок Etag.
Параметры
- string|null
$hashoptional null - Уникальный хэш, который идентифицирует этот ответ
- boolean
$weakoptional false Указывает, является ли ответ семантически таким же, как и другие с тем же хэшем или нет
Возвращает
string|nullexpires()source public
expires( string|DateTime|null $time null )
Устанавливает заголовок Expires для ответа, принимая время истечения срока действия. Если вызывается без параметров, возвращается текущее значение Expires.
Примеры:
$response->expires('now') Сразу сделает ответ кэш недействительным $response->expires(new DateTime('+1 day')) Установит истечение через 24 часа $response->expires() Вернёт текущее значение заголовка истечения
Параметры
- string|DateTime|null
$timeoptional null - Действительная строка времени или экземпляр DateTime.
Возвращает
string|nullfile()source public
file( string $path , array $options [] )
Настройка для отображения или загрузки заданного файла.
Если $_SERVER['HTTP_RANGE'] задано, будет возвращена часть файла вместо всего файла.
Ключи параметров
- name: Альтернативное имя файла для загрузки
- download: Если
trueустанавливает заголовок загрузки и принудительно загружает файл, а не отображает его в браузере
Параметры
- string
$path Путь к файлу. Если путь не является абсолютным путем, который разрешается до файла, к пути будет добавлен
APP.- array
$optionsoptional [] - Параметры, см. выше.
Исключение
Cake\Network\Exception\NotFoundExceptiongetFile()source public
getFile( )
Получение текущего файла, если он существует.
Возвращает
Cake\Filesystem\File|nullИспользуемый в ответе файл или null
getMimeType()source public
getMimeType( string $alias )
Возвращает определение MIME-типа для псевдонима
например getMimeType('pdf'); // returns 'application/pdf'
Параметры
- string
$alias - псевдоним типа содержимого для сопоставления
Возвращает
mixedСтрока сопоставленного MIME-типа или false, если $alias не сопоставлен
header()source public
header( string|array|null $header null , string|array|null $value null )
Буферизует строку заголовка для отправки Возвращает полный список буферизованных заголовков
Один заголовок
header('Location', 'http://example.com'); Несколько заголовков
header(['Location' => 'http://example.com', 'X-Extra' => 'My header']);
Строковый заголовок
header('WWW-Authenticate: Negotiate'); Массив строковых заголовков
header(['WWW-Authenticate: Negotiate', 'Content-type: application/pdf']);
Несколько вызовов для установки одного и того же имени заголовка будут иметь тот же эффект, что и установка заголовка один раз с последним отправленным значением для него
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: Not-Negotiate'); будет иметь тот же эффект, что и только
header('WWW-Authenticate: Not-Negotiate'); Параметры
- string|array|null
$headeroptional null Массив строк заголовка или одиночная строка заголовка - также принимается ассоциативный массив «имя заголовка» => «значение заголовка» - также принимается массив строк заголовков
- string|array|null
$valueoptional null - Значение(я) заголовка
Возвращает
arrayСписок заголовков для отправки
httpCodes()source public
httpCodes( integer|array|null $code null )
Запрос и установка допустимых кодов и сообщений HTTP-ответа.
Параметры
- integer|array|null
$codeoptional null -
Если $code — целое число, то соответствующий код/сообщение возвращается, если он существует, null, если он не существует. Если $code — массив, то ключи используются в качестве кодов, а значения — в качестве сообщений для добавления к стандартным HTTP-кодам. Коды должны быть целыми числами, большими 99 и меньшими 1000. Имейте в виду, что спецификация HTTP определяет, что коды состояния начинаются с цифры от 1 до 5, которая определяет класс ответа, который клиент должен ожидать. Пример:
httpCodes(404); // returns [404 => 'Not Found'] httpCodes([ 381 => 'Unicorn Moved', 555 => 'Unexpected Minotaur' ]); // sets these new values, and returns true httpCodes([ 0 => 'Nothing Here', -1 => 'Reverse Infinity', 12345 => 'Universal Password', 'Hello' => 'World' ]); // throws an exception due to invalid codes For more on HTTP status codes see: http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1
Возвращает
mixedАссоциативный массив HTTP-кодов в качестве ключей и сообщений в качестве значений или null, если заданный $code не существует.
Исключение
InvalidArgumentExceptionЕсли попытка добавить недопустимый код состояния
length()source public
length( integer|null $bytes null )
Устанавливает заголовок Content-Length для ответа. Если вызывается без аргументов, возвращает последний установленный Content-Length.
Параметры
- integer|null
$bytesнеобязательный null - Количество байтов
Возвращает
integer|nulllocation()source public
location( null|string $url null )
Доступ к заголовку расположения.
Получение/установка значения заголовка Location.
Параметры
- null|string
$urlнеобязательный null - Либо null для получения текущего расположения, либо строка для установки нового.
Возвращает
string|nullПри установке расположения возвращается null. При чтении расположения возвращается строка текущего значения заголовка Location (если таковое имеется).
mapType()source public
mapType( string|array $ctype )
Сопоставляет тип содержимого с псевдонимом.
Например: mapType('application/pdf'); // returns 'pdf'
Параметры
- string|array
$ctype - Либо строка типа содержимого для сопоставления, либо массив типов.
Возвращает
string|array|nullПсевдонимы для предоставленных типов.
maxAge()source public
maxAge( integer|null $seconds null )
Устанавливает директиву Cache-Control max-age. max-age — это количество секунд, после которого ответ больше не должен рассматриваться как хороший кандидат для извлечения из локального (клиентского) кэша. Если вызывается без параметров, эта функция возвращает текущее значение max-age, если таковое имеется.
Параметры
- integer|null
$secondsнеобязательный null - если null, метод вернёт текущее значение max-age
Возвращает
integer|nullmodified()source public
modified( string|DateTime|null $time null )
Устанавливает заголовок Last-Modified для ответа, используя время изменения. Если вызывается без параметров, возвращает текущее значение Last-Modified.
Примеры:
$response->modified('now') Установит Last-Modified на текущее время $response->modified(new DateTime('+1 day')) Установит дату изменения в прошлом 24 часа $response->modified() Вернёт текущее значение заголовка Last-Modified
Параметры
- string|DateTime|null
$timeнеобязательный null - Действительная строка времени или экземпляр DateTime.
Возвращает
string|nullmustRevalidate()source public
mustRevalidate( boolean|null $enable null )
Устанавливает директиву Cache-Control must-revalidate. must-revalidate указывает, что ответ не должен обслуживаться устаревшим кэшем в любых обстоятельствах без предварительной перевалидации с источником. Если вызывается без параметров, эта функция возвращает, присутствует ли must-revalidate.
Параметры
- boolean|null
$enableнеобязательный null если null, метод вернёт текущее значение must-revalidate. Если boolean, установит или сбросит директиву.
Возвращает
booleannotModified()source public
notModified( )
Устанавливает ответ как «Не изменён», удаляя любое содержимое тела, устанавливая код состояния на «304 Not Modified» и удаляя все конфликтующие заголовки.
outputCompressed()source public
outputCompressed( )
Возвращает, будет ли результирующий вывод сжат PHP.
Возвращает
booleanprotocol()source public
protocol( string|null $protocol null )
Устанавливает протокол, который будет использоваться при отправке ответа. По умолчанию HTTP/1.1. Если вызывается без аргументов, возвращает текущий настроенный протокол.
Параметры
- string|null
$protocolнеобязательный null - Протокол, используемый для отправки ответа.
Возвращает
stringТекущий установленный протокол
send()source public
send( )
Отправляет полный ответ клиенту, включая заголовки и тело сообщения. Выведет содержимое в теле ответа.
sharable()source public
sharable( boolean|null $public null , integer|null $time null )
Устанавливает, может ли ответ кэшироваться промежуточными прокси-серверами. Этот метод управляет директивами public или private в заголовке Cache-Control.
Параметры
- boolean|null
$publicнеобязательный null Если установлено true, заголовок Cache-Control будет установлен как public. Если установлено false, ответ будет установлен как private. Если значение не задано, возвращается, может ли ответ кэшироваться или нет.
- integer|null
$timeнеобязательный null - Время в секундах, после которого ответ больше не должен считаться свежим.
Возвращает
boolean|nullsharedMaxAge()source public
sharedMaxAge( integer|null $seconds null )
Устанавливает директиву Cache-Control s-maxage. s-maxage — это количество секунд, после которого ответ больше не должен рассматриваться как хороший кандидат для извлечения из общего кэша (например, в прокси-сервере). Если вызывается без параметров, эта функция возвращает текущее значение max-age, если таковое имеется.
Параметры
- integer|null
$secondsнеобязательный null - если null, метод вернёт текущее значение s-maxage
Возвращает
integer|nullstatusCode()source public
statusCode( integer|null $code null )
Устанавливает HTTP-код состояния для отправки. Если $code равен null, возвращается текущий код.
Параметры
- integer|null
$codeнеобязательный null - HTTP-код состояния
Возвращает
integerТекущий код состояния
Исключения
InvalidArgumentExceptionКогда достигается неизвестный код состояния.
stop()source public
stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- integer|string
$statusнеобязательный 0 - См. http://php.net/exit для значений
type()source public
type( string|null $contentType null )
Устанавливает тип содержимого ответа. Может быть расширением файла, которое будет сопоставлено с MIME-типом внутри, или строкой, представляющей MIME-тип. Если $contentType равен null, возвращается текущий тип содержимого. Если $contentType является ассоциативным массивом, определения типов содержимого будут храниться/заменяться.
Установка типа содержимого
type('jpg'); Возвращение текущего типа содержимого
type();
Хранение определений типов содержимого
type(['keynote' => 'application/keynote', 'bat' => 'application/bat']);
Замена определения типа содержимого
type(['jpg' => 'text/plain']);
Параметры
- string|null
$contentTypeнеобязательный null - Ключ типа содержимого.
Возвращает
mixedТекущий тип содержимого или false, если предоставлен недопустимый тип содержимого
vary()source public
vary( string|array|null $cacheVariances null )
Устанавливает заголовок Vary для ответа; если передан массив, значения будут объединены в строку, разделенную запятыми. Если параметры не переданы, то возвращается массив с текущим значением заголовка Vary.
Параметры
- string|array|null
$cacheVariancesнеобязательный null Одна строка Vary или массив, содержащий список вариантов.
Возвращает
array|nullПодробное описание свойств
$_bodysource
protected string|callable
Строка буфера или вызываемый объект для сообщения ответа
null
$_cacheDirectivessource
protected array
Содержит все директивы кэширования, которые будут преобразованы в заголовки при отправке запроса
[]
$_contentTypesource
protected string
Тип содержимого для отправки. Это может быть «расширение», которое будет преобразовано с помощью массива $_mimetypes, или полный MIME-тип.
'text/html'
$_filesource
protected Cake\Filesystem\File
Объект файла для файла, который будет считан как ответ
null
$_mimeTypessource
protected array
Содержит сопоставления типа ключа с MIME-типом для известных MIME-типов.
[
'html' => ['text/html', '*/*'],
'json' => 'application/json',
'xml' => ['application/xml', 'text/xml'],
'xhtml' => ['application/xhtml+xml', 'application/xhtml', 'text/xhtml'],
'webp' => 'image/webp',
'rss' => 'application/rss+xml',
'ai' => 'application/postscript',
'bcpio' => 'application/x-bcpio',
'bin' => 'application/octet-stream',
'ccad' => 'application/clariscad',
'cdf' => 'application/x-netcdf',
'class' => 'application/octet-stream',
'cpio' => 'application/x-cpio',
'cpt' => 'application/mac-compactpro',
'csh' => 'application/x-csh',
'csv' => ['text/csv', 'application/vnd.ms-excel'],
'dcr' => 'application/x-director',
'dir' => 'application/x-director',
'dms' => 'application/octet-stream',
'doc' => 'application/msword',
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'drw' => 'application/drafting',
'dvi' => 'application/x-dvi',
'dwg' => 'application/acad',
'dxf' => 'application/dxf',
'dxr' => 'application/x-director',
'eot' => 'application/vnd.ms-fontobject',
'eps' => 'application/postscript',
'exe' => 'application/octet-stream',
'ez' => 'application/andrew-inset',
'flv' => 'video/x-flv',
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'bz2' => 'application/x-bzip',
'7z' => 'application/x-7z-compressed',
'hdf' => 'application/x-hdf',
'hqx' => 'application/mac-binhex40',
'ico' => 'image/x-icon',
'ips' => 'application/x-ipscript',
'ipx' => 'application/x-ipix',
'js' => 'application/javascript',
'jsonapi' => 'application/vnd.api+json',
'latex' => 'application/x-latex',
'lha' => 'application/octet-stream',
'lsp' => 'application/x-lisp',
'lzh' => 'application/octet-stream',
'man' => 'application/x-troff-man',
'me' => 'application/x-troff-me',
'mif' => 'application/vnd.mif',
'ms' => 'application/x-troff-ms',
'nc' => 'application/x-netcdf',
'oda' => 'application/oda',
'otf' => 'font/otf',
'pdf' => 'application/pdf',
'pgn' => 'application/x-chess-pgn',
'pot' => 'application/vnd.ms-powerpoint',
'pps' => 'application/vnd.ms-powerpoint',
'ppt' => 'application/vnd.ms-powerpoint',
'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
'ppz' => 'application/vnd.ms-powerpoint',
'pre' => 'application/x-freelance',
'prt' => 'application/pro_eng',
'ps' => 'application/postscript',
'roff' => 'application/x-troff',
'scm' => 'application/x-lotusscreencam',
'set' => 'application/set',
'sh' => 'application/x-sh',
'shar' => 'application/x-shar',
'sit' => 'application/x-stuffit',
'skd' => 'application/x-koan',
'skm' => 'application/x-koan',
'skp' => 'application/x-koan',
'skt' => 'application/x-koan',
'smi' => 'application/smil',
'smil' => 'application/smil',
'sol' => 'application/solids',
'spl' => 'application/x-futuresplash',
'src' => 'application/x-wais-source',
'step' => 'application/STEP',
'stl' => 'application/SLA',
'stp' => 'application/STEP',
'sv4cpio' => 'application/x-sv4cpio',
'sv4crc' => 'application/x-sv4crc',
'svg' => 'image/svg+xml',
'svgz' => 'image/svg+xml',
'swf' => 'application/x-shockwave-flash',
't' => 'application/x-troff',
'tar' => 'application/x-tar',
'tcl' => 'application/x-tcl',
'tex' => 'application/x-tex',
'texi' => 'application/x-texinfo',
'texinfo' => 'application/x-texinfo',
'tr' => 'application/x-troff',
'tsp' => 'application/dsptype',
'ttc' => 'font/ttf',
'ttf' => 'font/ttf',
'unv' => 'application/i-deas',
'ustar' => 'application/x-ustar',
'vcd' => 'application/x-cdlink',
'vda' => 'application/vda',
'xlc' => 'application/vnd.ms-excel',
'xll' => 'application/vnd.ms-excel',
'xlm' => 'application/vnd.ms-excel',
'xls' => 'application/vnd.ms-excel',
'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'xlw' => 'application/vnd.ms-excel',
'zip' => 'application/zip',
'aif' => 'audio/x-aiff',
'aifc' => 'audio/x-aiff',
'aiff' => 'audio/x-aiff',
'au' => 'audio/basic',
'kar' => 'audio/midi',
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'mp2' => 'audio/mpeg',
'mp3' => 'audio/mpeg',
'mpga' => 'audio/mpeg',
'ogg' => 'audio/ogg',
'oga' => 'audio/ogg',
'spx' => 'audio/ogg',
'ra' => 'audio/x-realaudio',
'ram' => 'audio/x-pn-realaudio',
'rm' => 'audio/x-pn-realaudio',
'rpm' => 'audio/x-pn-realaudio-plugin',
'snd' => 'audio/basic',
'tsi' => 'audio/TSP-audio',
'wav' => 'audio/x-wav',
'aac' => 'audio/aac',
'asc' => 'text/plain',
'c' => 'text/plain',
'cc' => 'text/plain',
'css' => 'text/css',
'etx' => 'text/x-setext',
'f' => 'text/plain',
'f90' => 'text/plain',
'h' => 'text/plain',
'hh' => 'text/plain',
'htm' => ['text/html', '*/*'],
'ics' => 'text/calendar',
'm' => 'text/plain',
'rtf' => 'text/rtf',
'rtx' => 'text/richtext',
'sgm' => 'text/sgml',
'sgml' => 'text/sgml',
'tsv' => 'text/tab-separated-values',
'tpl' => 'text/template',
'txt' => 'text/plain',
'text' => 'text/plain',
'avi' => 'video/x-msvideo',
'fli' => 'video/x-fli',
'mov' => 'video/quicktime',
'movie' => 'video/x-sgi-movie',
'mpe' => 'video/mpeg',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'qt' => 'video/quicktime',
'viv' => 'video/vnd.vivo',
'vivo' => 'video/vnd.vivo',
'ogv' => 'video/ogg',
'webm' => 'video/webm',
'mp4' => 'video/mp4',
'm4v' => 'video/mp4',
'f4v' => 'video/mp4',
'f4p' => 'video/mp4',
'm4a' => 'audio/mp4',
'f4a' => 'audio/mp4',
'f4b' => 'audio/mp4',
'gif' => 'image/gif',
'ief' => 'image/ief',
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpe' => 'image/jpeg',
'pbm' => 'image/x-portable-bitmap',
'pgm' => 'image/x-portable-graymap',
'png' => 'image/png',
'pnm' => 'image/x-portable-anymap',
'ppm' => 'image/x-portable-pixmap',
'ras' => 'image/cmu-raster',
'rgb' => 'image/x-rgb',
'tif' => 'image/tiff',
'tiff' => 'image/tiff',
'xbm' => 'image/x-xbitmap',
'xpm' => 'image/x-xpixmap',
'xwd' => 'image/x-xwindowdump',
'psd' => ['application/photoshop', 'application/psd', 'image/psd', 'image/x-photoshop', 'image/photoshop', 'zz-application/zz-winassoc-psd'],
'ice' => 'x-conference/x-cooltalk',
'iges' => 'model/iges',
'igs' => 'model/iges',
'mesh' => 'model/mesh',
'msh' => 'model/mesh',
'silo' => 'model/mesh',
'vrml' => 'model/vrml',
'wrl' => 'model/vrml',
'mime' => 'www/mime',
'pdb' => 'chemical/x-pdb',
'xyz' => 'chemical/x-pdb',
'javascript' => 'application/javascript',
'form' => 'application/x-www-form-urlencoded',
'file' => 'multipart/form-data',
'xhtml-mobile' => 'application/vnd.wap.xhtml+xml',
'atom' => 'application/atom+xml',
'amf' => 'application/x-amf',
'wap' => ['text/vnd.wap.wml', 'text/vnd.wap.wmlscript', 'image/vnd.wap.wbmp'],
'wml' => 'text/vnd.wap.wml',
'wmlscript' => 'text/vnd.wap.wmlscript',
'wbmp' => 'image/vnd.wap.wbmp',
'woff' => 'application/x-font-woff',
'appcache' => 'text/cache-manifest',
'manifest' => 'text/cache-manifest',
'htc' => 'text/x-component',
'rdf' => 'application/xml',
'crx' => 'application/x-chrome-extension',
'oex' => 'application/x-opera-extension',
'xpi' => 'application/x-xpinstall',
'safariextz' => 'application/octet-stream',
'webapp' => 'application/x-web-app-manifest+json',
'vcf' => 'text/x-vcard',
'vtt' => 'text/vtt',
'mkv' => 'video/x-matroska',
'pkpass' => 'application/vnd.apple.pkpass',
'ajax' => 'text/html'
] $_statusCodessource
protected array
Содержит HTTP-статусы ответов
[
100 => 'Continue',
101 => 'Switching Protocols',
102 => 'Processing',
200 => 'OK',
201 => 'Created',
202 => 'Accepted',
203 => 'Non-Authoritative Information',
204 => 'No Content',
205 => 'Reset Content',
206 => 'Partial Content',
207 => 'Multi-status',
208 => 'Already Reported',
226 => 'IM used',
300 => 'Multiple Choices',
301 => 'Moved Permanently',
302 => 'Found',
303 => 'See Other',
304 => 'Not Modified',
305 => 'Use Proxy',
306 => 'Switch Proxy',
307 => 'Temporary Redirect',
308 => 'Permanent Redirect',
400 => 'Bad Request',
401 => 'Unauthorized',
402 => 'Payment Required',
403 => 'Forbidden',
404 => 'Not Found',
405 => 'Method Not Allowed',
406 => 'Not Acceptable',
407 => 'Proxy Authentication Required',
408 => 'Request Timeout',
409 => 'Conflict',
410 => 'Gone',
411 => 'Length Required',
412 => 'Precondition Failed',
413 => 'Request Entity Too Large',
414 => 'Request-URI Too Large',
415 => 'Unsupported Media Type',
416 => 'Requested range not satisfiable',
417 => 'Expectation Failed',
418 => 'I\'m a teapot',
421 => 'Misdirected Request',
422 => 'Unprocessable Entity',
423 => 'Locked',
424 => 'Failed Dependency',
425 => 'Unordered Collection',
426 => 'Upgrade Required',
428 => 'Precondition Required',
429 => 'Too Many Requests',
431 => 'Request Header Fields Too Large',
444 => 'Connection Closed Without Response',
451 => 'Unavailable For Legal Reasons',
499 => 'Client Closed Request',
500 => 'Internal Server Error',
501 => 'Not Implemented',
502 => 'Bad Gateway',
503 => 'Service Unavailable',
504 => 'Gateway Timeout',
505 => 'Unsupported Version',
506 => 'Variant Also Negotiates',
507 => 'Insufficient Storage',
508 => 'Loop Detected',
510 => 'Not Extended',
511 => 'Network Authentication Required',
599 => 'Network Connect Timeout Error',
]
© 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.3/class-Cake.Network.Response.html