Класс CakeResponse
Класс CakeResponse отвечает за управление текстом ответа, статусом и заголовками HTTP-ответа.
По умолчанию контроллеры будут использовать этот класс для рендеринга ответа. Если вы собираетесь использовать пользовательский класс ответа, он должен быть подклассом этого объекта, чтобы обеспечить совместимость.
Авторское право: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Network/CakeResponse.php
Краткое описание свойств
-
$_bodyprotectedСтрока буфера для сообщения об ответеstring -
$_cacheDirectivesprotectedstringСодержит все директивы кэширования, которые будут преобразованы в заголовки при отправке запроса
-
$_charsetprotectedКодировка символов тела ответаstring -
$_contentTypeprotectedintegerТип контента для отправки. Это может быть 'расширение', которое будет преобразовано с использованием массива $_mimetypes, или полный тип MIME.
-
$_cookiesprotectedСодержит куки, которые будут отправлены клиенту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( DateTime|integer|string $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. Кодировка символов будет установлена в заголовке только в том случае, если ответ имеет тип text.
_setCookies()source protected
_setCookies( )
Устанавливает куки, которые были добавлены с помощью CakeResponse::cookie() перед отправкой любого другого вывода клиенту. Будет устанавливать куки в том порядке, в котором они были установлены.
body()source public
body( string $content null )
Буферизует сообщение ответа для отправки. Если $content равен null, возвращается текущий буфер.
Параметры
- строка
$contentнеобязательно null - строковое сообщение для отправки
Возвращает
строкатекущий буфер сообщения, если параметр $content передан как null
cache()source public
cache( string|integer $since , string|integer $time '+1 day' )
Устанавливает правильные заголовки для инструкции клиенту о кэшировании ответа.
Параметры
- строка|целое число
$since - Время с момента последнего изменения текста ответа.
- строка|целое число
$timeнеобязательно '+1 day' - Время истечения кэша.
charset()source public
charset( string $charset null )
Устанавливает кодировку символов ответа. Если $charset равен null, возвращается текущая кодировка символов.
Параметры
- строка
$charsetнеобязательно null - Строка кодировки символов.
Возвращает
строкатекущая кодировка символов
checkNotModified()source public
checkNotModified( CakeRequest $request )
Проверяет, не был ли ответ изменён в соответствии с заголовками запроса «If-None-Match» (Etags) и «If-Modified-Since» (дата последнего изменения). Если ответ не был изменён, он помечается соответствующим образом, чтобы клиент мог об этом узнать.
Чтобы пометить ответ как не изменённый, необходимо установить, по крайней мере, заголовок ответа Last-Modified etag перед вызовом этого метода. В противном случае сравнение не будет возможным.
Параметры
-
CakeRequest$request - Объект запроса
Возвращает
булево значениебыл ли ответ помечен как не изменённый.
compress()source public
compress( )
Устанавливает правильный обработчик буферизации вывода для отправки сжатого ответа. Ответы будут сжаты с помощью zlib, если расширение доступно.
Возвращает
booleanfalse, если клиент не принимает сжатые ответы или обработчик недоступен, в противном случае true
cookie()source public
cookie( array $options null )
Получение/установка конфигурации cookie
Этот метод действует как setter/getter в зависимости от типа аргумента. Если метод вызывается без аргументов, он возвращает все конфигурации.
Если метод вызывается со строковым аргументом, он возвращает заданную конфигурацию, если она установлена, или 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, 'https://www.cakephp.org');
URI с подстановкой
например cors($request, 'http://*.cakephp.org');
Игнорирование запрошенного протокола
например cors($request, 'www.cakephp.org');
Любой URI
например cors($request, '*');
Белый список URI
например cors($request, array('https://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. При чтении расположения возвращается строка текущего значения заголовка 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 Не изменён" и удаляя все конфликтующие заголовки.
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–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/2.10/class-CakeResponse.html