Класс CakeResponse
CakeResponse отвечает за управление текстом ответа, кодом состояния и заголовками HTTP-ответа.
По умолчанию контроллеры будут использовать этот класс для рендеринга своего ответа. Если вы собираетесь использовать пользовательский класс ответа, он должен быть подклассом этого объекта для обеспечения совместимости.
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Network/CakeResponse.php
Краткое описание свойств
-
$_bodyprotectedСтрока буфера для сообщения ответаstring -
$_cacheDirectivesprotectedstringСодержит все директивы кеширования, которые будут преобразованы в заголовки при отправке запроса
-
$_charsetprotectedКодировка символов тела ответаstring -
$_contentTypeprotectedintegerТип содержимого для отправки. Это может быть 'расширение', которое будет преобразовано с использованием массива $_mimetypes, или полный MIME-тип
-
$_cookiesprotectedСодержит cookie, которые нужно отправить клиентуarray - Объект файла для файла, который нужно прочитать как ответ
$_fileprotected -
$_fileRangeprotectedДиапазон файлов. Используется для запроса диапазонов файлов.array -
$_headersprotectedСписок буфера заголовковarray -
$_mimeTypesprotectedСодержит известные соответствия типов MIMEarray -
$_protocolprotectedЗаголовок протокола для отправки клиентуstring -
$_statusprotectedКод состояния для отправки клиентуinteger -
$_statusCodesprotectedСодержит HTTP-статусы ответовarray
Краткое описание методов
- __construct() publicКонструктор
- __toString() public
Преобразование в строку. Извлекает тело ответа в виде строки. Заголовки не отправляются.
- _clearBuffer() protectedОчищает содержимое верхнего буфера вывода и отбрасывает его
- _fileRange() protectedПрименение диапазона файла к файлу и установка конечного смещения.
- _flushBuffer() protectedОчистка содержимого буфера вывода
- _getUTCDate() protected
Возвращает объект DateTime, инициализированный параметром $time и использующий часовой пояс UTC
- _isActive() protectedВозвращает true, если соединение все еще активно
- _normalizeCorsDomains() protectedНормализация источника до регулярных выражений и размещение в формате массива
- _sendContent() protectedОтправка строки содержимого клиенту.
- _sendFile() protectedЧтение файла и вывод содержимого в клиент.
- _sendHeader() protectedОтправка заголовка клиенту.
- _setCacheControl() protected
Вспомогательный метод для генерации допустимого заголовка Cache-Control из опций, заданных в других методах
- _setContent() protectedУстановка тела ответа на пустой текст, если код состояния 204 или 304
- _setContentLength() protected
Вычисляет правильную длину содержимого и устанавливает ее как заголовок в ответе. Не будет устанавливать значение, если оно уже установлено или если вывод сжат.
- _setContentType() protected
Форматирование заголовка Content-Type на основе настроенного contentType и кодировки символов. Кодировка символов будет установлена только в заголовке, если ответ имеет тип текст
- _setCookies() protected
Установка файлов cookie, добавленных через CakeResponse::cookie(), прежде чем любой другой вывод будет отправлен клиенту. Файлы cookie будут установлены в порядке их установки.
- body() public
Буферизация сообщения ответа для отправки. Если $content равен null, возвращается текущий буфер
- cache() publicУстановка правильных заголовков для указания клиенту кешировать ответ.
- charset() public
Установка кодировки символов ответа. Если $charset равен null, возвращается текущая кодировка символов
- checkNotModified() public
Проверка, не был ли ответ изменен в соответствии с заголовками запроса 'If-None-Match' (Etags) и 'If-Modified-Since' (дата последней модификации). Если обнаруживается, что ответ не был изменен, он помечается как таковой, чтобы клиент мог об этом узнать.
- compress() public
Установка правильного обработчика буферизации вывода для отправки сжатого ответа. Ответы будут сжаты с помощью zlib, если расширение доступно.
- cookie() publicПолучение/установка конфигураций cookie
- cors() publicНастройка доступа к источнику и методам при запросах к разным источникам
- disableCache() publicУстановка правильных заголовков для указания клиенту не кешировать ответ
- download() publicУстановка правильных заголовков для указания браузеру загрузить ответ как файл.
- etag() public
Установка тега ответа Etag. Etags — это сильный указатель на то, что ответ может быть кэширован клиентом HTTP. Плохой способ генерации Etags — создание хэша выходных данных ответа, вместо этого создайте уникальный хэш уникальных компонентов, которые идентифицируют запрос, таких как время модификации, идентификатор ресурса и все остальное, что вы считаете уникальным.
- expires() public
Установка заголовка Expires для ответа, используя время истечения срока действия. Если вызвано без параметров, вернёт текущее значение Expires.
- file() 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 Not Modified» и удаляя все конфликтующие заголовки.
- outputCompressed() publicВозвращает, будет ли сжатый результат вывода PHP
- protocol() public
Устанавливает протокол, который будет использоваться при отправке ответа. По умолчанию HTTP/1.1. Если вызвана без аргументов, она вернет текущий настроенный протокол.
- send() public
Отправка полному ответу клиенту, включая заголовки и тело сообщения. Выведет содержимое в теле ответа.
- sharable() public
Устанавливает, может ли ответ быть кэширован промежуточными прокси-серверами. Этот метод управляет директивой
publicилиprivateв заголовке Cache-Control. - sharedMaxAge() public
Установка директивы Cache-Control s-maxage. Max-age — это количество секунд, по истечении которых ответ больше не должен рассматриваться как хороший кандидат для извлечения из кэша общего пользования (например, в прокси-сервере). Если вызвана без параметров, эта функция вернёт текущее значение max-age, если таковое имеется.
- statusCode() public
Установка HTTP-кода состояния для отправки. Если $code равен null, возвращается текущий код.
- type() public
Устанавливает тип содержимого ответа. Может быть либо расширением файла, которое будет сопоставлено внутри с типом MIME, либо строкой, представляющей тип MIME. Если $contentType равен null, возвращается текущий тип содержимого. Если $contentType является ассоциативным массивом, определения типа содержимого будут сохранены/заменены.
- vary() public
Установка заголовка Vary для ответа. Если передан массив, значения будут объединены в строку, разделённую запятыми. Если параметры не переданы, возвращается массив с текущим значением заголовка Vary.
Подробное описание методов
__construct()source public
__construct( array $options array() )
Конструктор
Параметры
- массив
$optionsнеобязательный array() список параметров для настройки ответа. Возможные значения: - body: текст ответа, который должен быть отправлен клиенту - statusCodes: дополнительные допустимые коды ответа - status: код HTTP-статуса для ответа - type: полное значение MIME-типа или расширение, сопоставленное в этом классе - charset: кодировка символов для тела ответа
__toString()source public
__toString( )
Преобразование в строку. Извлекает тело ответа как строку. Не отправляет заголовки.
Возвращает
строка_clearBuffer()source protected
_clearBuffer( )
Очищает содержимое самого верхнего буфера вывода и отбрасывает его
Возвращает
логическое значение_fileRange()source protected
_fileRange( File $file , string $httpRange )
Применение диапазона файла и установка конечного смещения.
Если запрос диапазона недействителен, в ответе будет использован код состояния 416.
Параметры
-
File$file - Файл, для которого устанавливается диапазон.
- строка
$httpRange - Диапазон для использования.
_getUTCDate()source protected
_getUTCDate( string|DateTime $time null )
Возвращает объект DateTime, инициализированный в параметре $time и использующий часовой пояс UTC
Параметры
- строка|DateTime
$timeнеобязательный null - Действительная строка времени или unix-метка времени или объект DateTime.
Возвращает
DateTime_isActive()source protected
_isActive( )
Возвращает true, если соединение все еще активно
Возвращает
логическое значение_normalizeCorsDomains()source protected
_normalizeCorsDomains( array $domains , boolean $requestIsSSL false )
Нормализует источник до регулярных выражений и помещает в массив
Параметры
- массив
$domains - Домены для нормализации
- логическое значение
$requestIsSSLнеобязательный false - Является ли это запросом SSL.
Возвращает
массив_sendContent()source protected
_sendContent( string $content )
Отправляет строку содержимого клиенту.
Параметры
- строка
$content - строка, которая должна быть отправлена в качестве тела ответа
_sendFile()source protected
_sendFile( File $file , array $range )
Считывает файл и выводит его содержимое клиенту.
Параметры
-
File$file - Объект файла
- массив
$range - Диапазон для чтения из файла.
Возвращает
логическое значениеTrue, если весь файл успешно выведен, или false, если соединение с клиентом потеряно между
_sendHeader()source protected
_sendHeader( string $name , string $value null )
Отправляет заголовок клиенту.
Пропустит отправку заголовков, если заголовки уже были отправлены.
Параметры
- строка
$name - имя заголовка
- строка
$valueнеобязательный null - значение заголовка
_setCacheControl()source protected
_setCacheControl( )
Вспомогательный метод для генерации корректного заголовка Cache-Control из параметров, установленных в других методах
_setContent()source protected
_setContent( )
Устанавливает тело ответа в пустую строку, если код состояния равен 204 или 304
_setContentLength()source protected
_setContentLength( )
Вычисляет правильное значение Content-Length и устанавливает его в качестве заголовка в ответе. Не будет устанавливать значение, если оно уже установлено или если вывод сжат.
_setContentType()source protected
_setContentType( )
Форматирует заголовок Content-Type на основе настроенного contentType и charset. charset будет установлен только в заголовке, если ответ имеет тип текста.
_setCookies()source protected
_setCookies( )
Устанавливает cookies, добавленные с помощью CakeResponse::cookie(), перед отправкой любого другого вывода клиенту. Будут установлены cookies в порядке их добавления.
body()source public
body( string $content null )
Буферизует сообщение ответа для отправки. Если $content равен null, возвращается текущий буфер.
Параметры
- строка
$contentнеобязательный null - строковое сообщение для отправки
Возвращает
строкатекущий буфер сообщения, если параметр $content передан как null
cache()source public
cache( string $since , string $time '+1 day' )
Устанавливает правильные заголовки для инструктирования клиента о кэшировании ответа.
Параметры
- строка
$since - действительное время с момента, как текст ответа не изменялся
- строка
$timeнеобязательный '+1 день' - действительное время для истечения срока действия кэша
charset()source public
charset( string $charset null )
Устанавливает кодировку символов для ответа. Если $charset равен null, возвращается текущая кодировка.
Параметры
- строка
$charsetнеобязательный null - Строка кодировки символов.
Возвращает
строкатекущая кодировка
checkNotModified()source public
checkNotModified( CakeRequest $request )
Проверяет, не был ли ответ изменён в соответствии с заголовками запроса 'If-None-Match' (Etag) и 'If-Modified-Since' (дата последней модификации). Если ответ не был изменён, он помечается как таковой, чтобы клиент об этом узнал.
Для того, чтобы пометить ответ как не изменённый, необходимо установить хотя бы заголовок ответа Last-Modified etag перед вызовом этого метода. В противном случае сравнение невозможно.
Параметры
-
CakeRequest$request - Объект запроса
Возвращает
логическое значениепомечен ли ответ как неизменённый.
compress()source public
compress( )
Устанавливает правильный обработчик буферизации вывода для отправки сжатого ответа. Ответы будут сжаты с помощью zlib, если расширение доступно.
Возвращает
booleanfalse, если клиент не принимает сжатые ответы или обработчик недоступен, иначе true
cookie()source public
cookie( array $options null )
Получение/установка настроек cookie
Этот метод действует как установщик/получатель в зависимости от типа аргумента. Если метод вызывается без аргументов, он возвращает все конфигурации.
Если метод вызывается со строкой в качестве аргумента, он возвращает заданную конфигурацию, если она установлена, или null, если она не установлена.
Если метод вызывается с массивом в качестве аргумента, он установит конфигурацию cookie в контейнер cookie.
Параметры (при установке конфигурации)
- name: Имя Cookie
- value: Значение cookie
- expire: Время истечения срока действия cookie
- path: Путь, к которому применяется cookie
- domain: Домен, для которого предназначен cookie.
- secure: Cookie для HTTPS?
- httpOnly: Cookie доступен в клиенте?
Примеры
Получение всех cookies
$this->cookie()
Получение определённой конфигурации cookie
$this->cookie('MyCookie')
Установка конфигурации cookie
$this->cookie((array) $options)
Параметры
- массив
$optionsнеобязательно null null для получения всех cookies, строка для определённого cookie или массив для установки cookie.
Возвращает
смешанный типcors()source public
cors( CakeRequest $request , string|array $allowedDomains , string|array $allowedMethods array() , string|array $allowedHeaders array() )
Настройка доступа к источнику и методам при кросс-доменных запросах
Этот метод позволяет устанавливать домены несколькими способами, см. примеры
Полный URI
например cors($request, 'http://www.cakephp.org');
URI с подстановкой
например cors($request, 'http://*.cakephp.org');
Игнорирование запрошенного протокола
например cors($request, 'www.cakephp.org');
Любой URI
например cors($request, '*');
Белый список URI
например cors($request, array('http://www.cakephp.org', '*.google.com', 'https://myproject.github.io'));
Параметры
-
CakeRequest$request - Объект запроса
- строка|массив
$allowedDomains - Список разрешённых доменов, см. описание метода для получения более подробной информации
- строка|массив
$allowedMethodsнеобязательно массив() - Список разрешённых HTTP-методов
- строка|массив
$allowedHeadersнеобязательно массив() - Список разрешённых HTTP-заголовков
disableCache()source public
disableCache( )
Устанавливает необходимые заголовки, чтобы указать клиенту не кэшировать ответ
download()source public
download( string $filename )
Устанавливает необходимые заголовки, чтобы указать браузеру загрузить ответ как файл.
Параметры
- строка
$filename - имя файла, которое будет использовано браузером при загрузке ответа
etag()source public
etag( string $tag null , boolean $weak false )
Устанавливает заголовок Etag ответа. Etag — это сильный индикатор того, что клиент HTTP может кэшировать ответ. Плохой способ генерации Etag — создание хэша выходных данных ответа, вместо этого создайте уникальный хэш уникальных компонентов, которые идентифицируют запрос, такие как время модификации, идентификатор ресурса и всё, что вы считаете уникальным.
Второй параметр используется для указания клиентам, что содержимое изменилось, но семантически может использоваться также. Например, представьте страницу со счётчиком посещений: два разных просмотра страницы эквивалентны, но отличаются на несколько байтов. Это оставляет клиенту решение использовать или не использовать кэшированную страницу.
Если параметры не переданы, возвращается текущий заголовок Etag.
Параметры
- строка
$tagнеобязательно null - Тег для установки.
- boolean
$weakнеобязательно false указывает, является ли ответ семантически идентичным другим ответам с тем же хэшем или нет
Возвращает
строкаexpires()source public
expires( string|DateTime $time null )
Устанавливает заголовок Expires для ответа, принимая время истечения срока действия. Если вызывается без параметров, он возвращает текущее значение Expires.
Примеры:
$response->expires('now') Сразу же истекает кэш ответа $response->expires(new DateTime('+1 day')) Устанавливает срок действия на следующие 24 часа $response->expires() Возвращает текущее значение заголовка срока действия
Параметры
- строка|DateTime
$timeнеобязательно null - Действительная строка времени или объект DateTime.
Возвращает
строкаfile()source public
file( string $path , array $options array() )
Настройка для отображения или загрузки указанного файла.
Если $_SERVER['HTTP_RANGE'] задано, будет возвращён фрагмент файла вместо всего файла.
Ключи параметров
- name: альтернативное имя для загрузки
- download: Если
trueустанавливает заголовок для загрузки и принудительно загружает файл, а не отображает его в браузере
Параметры
- строка
$path Путь к файлу. Если путь не является абсолютным путём, разрешаемым до файла, к пути будет добавлен
APP.- массив
$optionsнеобязательно массив() - Параметры, см. выше.
Исключения
NotFoundExceptiongetMimeType()source public
getMimeType( string $alias )
Возвращает определение типа MIME для псевдонима
например getMimeType('pdf'); // returns 'application/pdf'
Параметры
- строка
$alias - псевдоним типа содержимого для сопоставления
Возвращает
смешанный типстрока сопоставленного типа MIME или false, если $alias не сопоставлен
header()source public
header( string|array $header null , string|array $value null )
Буферизует строку заголовка для отправки Возвращает полный список буферизованных заголовков
Один заголовок
например header('Location', 'http://example.com');
Несколько заголовков
например header(array('Location' => 'http://example.com', 'X-Extra' => 'My header'));
Заголовок-строка
например header('WWW-Authenticate: Negotiate');
Массив строковых заголовков
например header(array('WWW-Authenticate: Negotiate', 'Content-type: application/pdf'));
Несколько вызовов для установки одного и того же имени заголовка будут иметь тот же эффект, что и установка заголовка один раз с последним отправленным значением для него, например header('WWW-Authenticate: Negotiate'); header('WWW-Authenticate: Not-Negotiate'); будет иметь тот же эффект, что и только header('WWW-Authenticate: Not-Negotiate');
Параметры
- строка|массив
$headerнеобязательно null Массив строк заголовков или одна строка заголовка — также принимается ассоциативный массив "имя заголовка" => "значение заголовка" — также принимается массив строковых заголовков
- строка|массив
$valueнеобязательно null - Значение(я) заголовка
Возвращает
массивсписок заголовков для отправки
httpCodes()source public
httpCodes( integer|array $code null )
Запрос и установка допустимых кодов и сообщений HTTP-ответа.
Параметры
- целое число|массив
$codeнеобязательно null -
Если $code — целое число, то соответствующий код/сообщение возвращается, если существует, null, если не существует. Если $code — массив, то ключи используются в качестве кодов, а значения — в качестве сообщений для добавления к стандартным HTTP-кодам. Коды должны быть целыми числами больше 99 и меньше 1000. Имейте в виду, что спецификация HTTP определяет, что коды статуса начинаются с цифры от 1 до 5, которая определяет класс ответа, который клиент должен ожидать. Пример:
httpCodes(404); // returns array(404 => 'Not Found') httpCodes(array( 381 => 'Unicorn Moved', 555 => 'Unexpected Minotaur' )); // sets these new values, and returns true httpCodes(array( 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
Возвращает
смешанный типассоциативный массив HTTP-кодов в качестве ключей и строк сообщений в качестве значений или null, если заданный $code не существует.
Исключения
CakeExceptionЕсли попытка добавить недопустимый код состояния
length()source public
length( integer $bytes null )
Устанавливает заголовок Content-Length для ответа. Если вызывается без аргументов, возвращает последний установленный Content-Length.
Параметры
- целое число
$bytesнеобязательно null - Количество байтов
Возвращает
целое число|nulllocation()source public
location( null|string $url null )
Доступ к заголовку расположения.
Получение/Установка значения заголовка Location.
Параметры
- null|string
$urlнеобязательно null - Либо null для получения текущего расположения, либо строка для его установки.
Возвращает
string|nullПри установке расположения возвращается null. При чтении расположения возвращается строка с текущим значением заголовка расположения (если он есть).
mapType()source public
mapType( string|array $ctype )
Преобразует тип содержимого в псевдоним
например mapType('application/pdf'); // returns 'pdf'
Параметры
- string|array
$ctype - Либо строка типа содержимого для преобразования, либо массив типов.
Возвращает
mixedПсевдонимы для предоставленных типов.
maxAge()source public
maxAge( integer $seconds null )
Устанавливает директиву Cache-Control max-age. max-age — это количество секунд, по истечении которых ответ больше не должен рассматриваться как подходящий для извлечения из локального кэша (клиента). Если вызывается без параметров, эта функция возвращает текущее значение max-age, если оно есть.
Параметры
- integer
$secondsнеобязательно null - если null, метод вернёт текущее значение max-age
Возвращает
integermodified()source public
modified( string|DateTime $time null )
Устанавливает заголовок Last-Modified для ответа, используя время изменения. Если вызывается без параметров, возвращает текущее значение Last-Modified.
Примеры:
$response->modified('now') Установит Last-Modified на текущее время $response->modified(new DateTime('+1 day')) Установит дату изменения в прошлом за 24 часа $response->modified() Вернет текущее значение заголовка Last-Modified
Параметры
- string|DateTime
$timeнеобязательно null - Действительная строка времени или объект DateTime.
Возвращает
stringmustRevalidate()source public
mustRevalidate( boolean $enable null )
Устанавливает директиву Cache-Control must-revalidate. must-revalidate указывает, что ответ не должен обслуживаться устаревшей версией кешем при любых обстоятельствах без предварительной перепроверки с источником. Если вызывается без параметров, эта функция вернёт, присутствует ли must-revalidate.
Параметры
- boolean
$enableнеобязательно null Если null, возвращает, установлена ли директива; если boolean, устанавливает или сбрасывает директиву.
Возвращает
booleannotModified()source public
notModified( )
Устанавливает ответ как «Не изменён», удаляя содержимое тела, устанавливая код состояния на «304 Не изменён» и удаляя все конфликтующие заголовки.
outputCompressed()source public
outputCompressed( )
Возвращает, будет ли результирующий вывод сжат PHP.
Возвращает
booleanprotocol()source public
protocol( string $protocol null )
Устанавливает протокол, который будет использоваться при отправке ответа. По умолчанию HTTP/1.1. Если вызывается без аргументов, возвращает текущий настроенный протокол.
Параметры
- string
$protocolнеобязательно null - Протокол, который будет использоваться для отправки ответа.
Возвращает
stringтекущий установленный протокол
send()source public
send( )
Отправляет полный ответ клиенту, включая заголовки и тело сообщения. Выведет содержимое в теле ответа.
sharable()source public
sharable( boolean $public null , integer $time null )
Устанавливает, может ли ответ быть кэширован промежуточными прокси-серверами. Этот метод управляет директивой public или private в заголовке Cache-Control.
Параметры
- boolean
$publicнеобязательно null Если true, заголовок Cache-Control будет установлен как public; если false, ответ будет установлен как private; если значение не предоставлено, вернёт, является ли ответ общим или нет.
- integer
$timeнеобязательно null - время в секундах, по истечении которого ответ больше не должен считаться свежим.
Возвращает
booleansharedMaxAge()source public
sharedMaxAge( integer $seconds null )
Устанавливает директиву Cache-Control s-maxage. s-maxage — это количество секунд, по истечении которых ответ больше не должен рассматриваться как подходящий для извлечения из общего кэша (например, в прокси-сервере). Если вызывается без параметров, эта функция возвращает текущее значение max-age, если оно есть.
Параметры
- integer
$secondsнеобязательно null - если null, метод вернёт текущее значение s-maxage
Возвращает
integerstatusCode()source public
statusCode( integer $code null )
Устанавливает код HTTP-статуса для отправки. Если $code равен null, возвращается текущий код.
Параметры
- integer
$codeнеобязательно null - код HTTP-статуса
Возвращает
integerтекущий код состояния
Изначает
CakeExceptionПри достижении неизвестного кода состояния.
type()source public
type( string $contentType null )
Устанавливает тип содержимого ответа. Это может быть расширение файла, которое будет внутренне сопоставлено с типом MIME, или строка, представляющая тип MIME. Если $contentType равен null, возвращается текущий тип содержимого. Если $contentType — ассоциативный массив, определения типов содержимого будут сохранены/заменены.
Установка типа содержимого
например type('jpg');
Возврат текущего типа содержимого
например type();
Сохранение определений типов содержимого
например type(array('keynote' => 'application/keynote', 'bat' => 'application/bat'));
Замена определения типа содержимого
например type(array('jpg' => 'text/plain'));
Параметры
- string
$contentTypeнеобязательно null - Ключ типа содержимого.
Возвращает
mixedтекущий тип содержимого или false, если предоставлен недопустимый тип содержимого
vary()source public
vary( string|array $cacheVariances null )
Устанавливает заголовок Vary для ответа. Если передаётся массив, значения будут объединены в строку, разделённую запятыми. Если параметров нет, возвращается массив с текущим значением заголовка Vary.
Параметры
- string|array
$cacheVariancesнеобязательно null одна строка Vary или массив, содержащий список вариаций.
Возвращает
arrayПодробное описание свойств
$_cacheDirectivessource
protected string
Содержит все директивы кеширования, которые будут преобразованы в заголовки при отправке запроса
array()
$_contentTypesource
protected integer
Тип содержимого для отправки. Может быть расширением, которое будет преобразовано с помощью массива $_mimetypes, или полным MIME-типом
'text/html'
$_mimeTypessource
protected array
Хранит известные сопоставления MIME-типов
array(
'html' => array('text/html', '*/*'),
'json' => 'application/json',
'xml' => array('application/xml', 'text/xml'),
'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' => array('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',
'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' => array('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',
'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' => array('application/xhtml+xml', 'application/xhtml', 'text/xhtml'),
'xhtml-mobile' => 'application/vnd.wap.xhtml+xml',
'atom' => 'application/atom+xml',
'amf' => 'application/x-amf',
'wap' => array('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',
'webp' => 'image/webp',
'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'
) $_statusCodessource
protected array
Хранит HTTP-статусы ответов
array(
100 => 'Continue',
101 => 'Switching Protocols',
200 => 'OK',
201 => 'Created',
202 => 'Accepted',
203 => 'Non-Authoritative Information',
204 => 'No Content',
205 => 'Reset Content',
206 => 'Partial Content',
300 => 'Multiple Choices',
301 => 'Moved Permanently',
302 => 'Found',
303 => 'See Other',
304 => 'Not Modified',
305 => 'Use Proxy',
307 => 'Temporary 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 Time-out',
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',
429 => 'Too Many Requests',
500 => 'Internal Server Error',
501 => 'Not Implemented',
502 => 'Bad Gateway',
503 => 'Service Unavailable',
504 => 'Gateway Time-out',
505 => 'Unsupported Version'
)
© 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/2.8/class-CakeResponse.html