Класс CakeResponse
CakeResponse отвечает за управление текстом ответа, кодом состояния и заголовками HTTP-ответа.
По умолчанию контроллеры будут использовать этот класс для рендеринга своего ответа. Если вы собираетесь использовать пользовательский класс ответа, он должен быть подклассом этого объекта, чтобы гарантировать совместимость.
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Network/CakeResponse.php
Краткое описание свойств
-
$_bodyprotectedСтрока буфера для сообщения ответаstring -
$_cacheDirectivesprotectedstringСодержит все директивы кеширования, которые будут преобразованы в заголовки при отправке запроса
-
$_charsetprotectedКодировка символов тела ответаstring -
$_contentTypeprotectedintegerТип содержимого для отправки. Это может быть 'расширение', которое будет преобразовано с помощью массива $_mimetypes, или полное MIME-тип
-
$_cookiesprotectedСодержит куки, которые нужно отправить клиентуarray - Объект файла для чтения файла в качестве ответа
$_fileprotected -
$_fileRangeprotectedДиапазон файла. Используется для запроса диапазонов файлов.array -
$_headersprotectedСписок заголовков буфераarray -
$_mimeTypesprotectedСодержит известные сопоставления MIME-типовarray -
$_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( )
Очищает содержимое верхнего буфера вывода и отбрасывает его
Возвращает
boolean_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, если соединение по-прежнему активно
Возвращает
boolean_normalizeCorsDomains()source protected
_normalizeCorsDomains( array $domains , boolean $requestIsSSL false )
Нормализует происхождение до регулярных выражений и помещает в массив
Параметры
- массив
$domains - Домены для нормализации
- boolean
$requestIsSSLнеобязательный false - Является ли это SSL-запросом.
Возвращает
массив_sendContent()source protected
_sendContent( string $content )
Отправляет строку содержимого клиенту.
Параметры
- строка
$content - строка, которая должна быть отправлена как тело ответа
_sendFile()source protected
_sendFile( File $file , array $range )
Считывает файл и выводит содержимое в клиент.
Параметры
-
File$file - Объект файла
- массив
$range - Диапазон для считывания из файла.
Возвращает
booleanИстина, если весь файл успешно выведен, или ложь, если соединение с клиентом было потеряно между ними
_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( )
Вычисляет правильную длину содержимого и устанавливает ее как заголовок в ответе. Не устанавливает значение, если оно уже задано или если вывод сжат.
_setContentType()source protected
_setContentType( )
Форматирует заголовок Content-Type на основе настроенного contentType и charset. Кодировка символов будет установлена только в заголовке, если тип ответа — текст.
_setCookies()source protected
_setCookies( )
Устанавливает куки, которые были добавлены через CakeResponse::cookie(), прежде чем любой другой вывод будет отправлен клиенту. Будут установлены куки в порядке их установки.
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 day' - действительное время для истечения срока действия кэша
charset()source public
charset( string $charset null )
Устанавливает кодировку символов ответа. Если $charset равен null, возвращается текущая кодировка символов.
Параметры
- строка
$charsetнеобязательный null - Строка кодировки символов.
Возвращает
строкатекущая кодировка символов
checkNotModified()source public
checkNotModified( CakeRequest $request )
Проверяет, не был ли ответ изменен в соответствии с заголовками запроса «Если ни один из них не совпадает» (Etag) и «Если не изменен с тех пор» (дата последней модификации). Если обнаруживается, что ответ не был изменен, он помечается соответствующим образом, чтобы клиент мог быть проинформирован об этом.
Для того чтобы пометить ответ как не измененный, необходимо установить хотя бы заголовок ответа Last-Modified etag перед вызовом этого метода. В противном случае сравнение не будет возможным.
Параметры
-
CakeRequest$request - Объект запроса
Возвращает
booleanБыла ли отмечена модификация ответа или нет.
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 доступен в браузере?
Примеры
Получение всех cookie
$this->cookie()
Получение определенной конфигурации cookie
$this->cookie('MyCookie')
Установка конфигурации cookie
$this->cookie((array) $options)
Параметры
- массив
$optionsопционально null либо null для получения всех cookie, строка для конкретного 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 со wildcard
например 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При установке location возвращается null. При чтении location возвращается строка текущего значения заголовка location (если таковое имеется).
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 Not Modified" и удаляя все конфликтующие заголовки.
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. max-age — это количество секунд, после которого ответ больше не должен считаться подходящим для извлечения из общего кэша (например, в прокси-сервере). Если вызывается без параметров, эта функция вернёт текущее значение 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',
'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' => 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',
'psd' => array(
'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' => 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',
'ajax' => 'text/html'
) $_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.
https://api.cakephp.org/2.9/class-CakeResponse.html