Класс Response
Класс ответа, предназначенный для тестовых случаев.
- Cake\Network\Response
-
Cake\TestSuite\Stub\Response
Унаследованные свойства
-
_body,_cacheDirectives,_charset,_contentType,_cookies,_file,_fileRange,_headers,_mimeTypes,_protocol,_status,_statusCodes
Краткое описание методов
- send() publicИмитировать метод send() для того, чтобы заголовки и вывод не отправлялись.
Подробное описание методов
send()source public
send( )
Имитировать метод send() для того, чтобы заголовки и вывод не отправлялись.
Переопределяет
Cake\Network\Response::send() Методы, унаследованные от Cake\Network\Response
__construct()source public
__construct( array $options [] )
Конструктор
Параметры
- массив
$optionsнеобязательно [] список параметров для настройки ответа. Возможные значения: - body: текст ответа, который должен быть отправлен клиенту - statusCodes: дополнительные допустимые коды ответа - status: код HTTP-статуса для ответа - type: полное значение MIME-типа или расширение, сопоставленное в этом классе - charset: кодировка символов для тела ответа
__toString()source public
__toString( )
Преобразование в строку. Получает тело ответа в виде строки. Не отправляет заголовки. Если тело — вызываемый объект, возвращается пустая строка.
Возвращает
строка_clearBuffer()source protected
_clearBuffer( )
Очищает содержимое верхнего буфера вывода и отбрасывает его
Устарело
3.2.4 Эта функция больше не нужнаВозвращает
булево_fileRange()source protected
_fileRange( Cake\Filesystem\File $file , string $httpRange )
Применяет диапазон файла к файлу и устанавливает конечную позицию.
Если запрошен неверный диапазон, в ответе будет использован код 416.
Параметры
-
Cake\Filesystem\File$file - Файл, для которого нужно установить диапазон.
- строка
$httpRange - Диапазон для использования.
_flushBuffer()source protected
_flushBuffer( )
Очищает содержимое буфера вывода
Устарело
3.2.4 Эта функция больше не нужна_getUTCDate()source protected
_getUTCDate( string|integer|DateTime|null $time null )
Возвращает объект DateTime, инициализированный в параметре $time и использующий UTC в качестве часового пояса.
Параметры
- строка|целое число|DateTime|null
$timeнеобязательно null - Действительная строка времени или экземпляр DateTime.
Возвращает
DateTime_isActive()source protected
_isActive( )
Возвращает true, если соединение всё ещё активно
Возвращает
булево_sendContent()source protected
_sendContent( string|callable $content )
Отправляет строку содержимого клиенту.
Если содержимое является вызываемым объектом, он вызывается. Вызываемый объект должен либо возвращать строку, либо выводить содержимое напрямую и не иметь возвращаемого значения.
Параметры
- строка|вызываемый объект
$content Строка для отправки в качестве тела ответа или вызываемый объект, который возвращает/выводит содержимое.
_sendFile()source protected
_sendFile( Cake\Filesystem\File $file , array $range )
Считывает файл и выводит содержимое в клиент.
Параметры
-
Cake\Filesystem\File$file - Объект файла
- массив
$range - Диапазон для считывания из файла.
Возвращает
булевоУспешно выведено всё содержимое файла или ложь, если соединение с клиентом было потеряно во время процесса
_sendHeader()source protected
_sendHeader( string $name , string|null $value null )
Отправляет заголовок клиенту.
Параметры
- строка
$name - имя заголовка
- строка|null
$valueнеобязательно null - значение заголовка
_setCacheControl()source protected
_setCacheControl( )
Вспомогательный метод для создания корректного заголовка Cache-Control из параметров, установленных в других методах
_setContent()source protected
_setContent( )
Устанавливает тело ответа в пустую строку, если код статуса равен 204 или 304
_setContentType()source protected
_setContentType( )
Форматирует заголовок Content-Type на основе настроек contentType и charset; charset устанавливается только в заголовке, если тип ответа text/*
_setCookies()source protected
_setCookies( )
Устанавливает куки, добавленные с помощью Cake\Network\Response::cookie(), перед отправкой любого другого вывода клиенту. Устанавливает куки в порядке, в котором они были установлены.
body()source public
body( string|callable|null $content null )
Буферизует сообщение ответа для отправки; если $content равен null, возвращается текущий буфер
Параметры
- строка|вызываемый объект|null
$contentнеобязательно null - строка или вызываемый объект сообщения, которое необходимо отправить
Возвращает
строкаТекущий буфер сообщений, если параметр $content передан как null
cache()source public
cache( string $since , string $time '+1 day' )
Устанавливает правильные заголовки для инструктирования клиента о кэшировании ответа.
Параметры
- строка
$since - действительное время с момента последнего изменения текста ответа
- строка
$timeнеобязательно '+1 day' - действительное время истечения срока действия кэша
charset()source public
charset( string|null $charset null )
Устанавливает кодировку символов ответа; если $charset равен null, возвращается текущая кодировка символов
Параметры
- строка|null
$charsetнеобязательно null - строка кодировки символов.
Возвращает
строкаТекущая кодировка символов
checkNotModified()source public
checkNotModified( Cake\Network\Request $request )
Проверяет, не был ли ответ изменён в соответствии с заголовками запроса «If-None-Match» (Etags) и «If-Modified-Since» (дата последнего изменения). Если ответ не был изменён, он помечается как таковой, чтобы клиент мог быть об этом проинформирован.
Чтобы пометить ответ как не изменённый, необходимо установить хотя бы заголовок ответа Last-Modified etag перед вызовом этого метода. В противном случае сравнение будет невозможно.
Параметры
-
Cake\Network\Request$request - Объект запроса
Возвращает
booleanПомечен ли ответ как не изменённый.
compress()source public
compress( )
Устанавливает правильный обработчик буферизации вывода для отправки сжатого ответа. Ответы будут сжаты с помощью zlib, если расширение доступно.
Возвращает
booleanfalse, если клиент не принимает сжатые ответы или нет доступного обработчика, в противном случае true
cookie()source public
cookie( array|null $options null )
Получение/Установка настроек cookie
Этот метод работает как установщик/получатель в зависимости от типа аргумента. Если метод вызывается без аргументов, он возвращает все конфигурации.
Если метод вызывается со строкой в качестве аргумента, он возвращает заданную конфигурацию, если она установлена, или null, если она не установлена.
Если метод вызывается с массивом в качестве аргумента, он установит конфигурацию cookie в контейнер cookie.
### Параметры (при установке конфигурации) - имя: Имя cookie - значение: Значение cookie - срок действия: Время истечения срока действия cookie - путь: Путь, к которому применяется cookie - домен: Домен, для которого предназначен cookie - защищён: Является ли cookie https? - httpOnly: Доступен ли cookie в клиенте?
Примеры
Получение всех cookie
$this->cookie()
Получение определённой конфигурации cookie
$this->cookie('MyCookie')
Установка конфигурации cookie
$this->cookie((array) $options)
Параметры
- array|null
$optionsнеобязательно null null для получения всех cookie, строка для конкретной cookie или массив для установки cookie.
Возвращает
mixedcors()source public
cors( Cake\Network\Request $request , string|array $allowedDomains [] , string|array $allowedMethods [] , string|array $allowedHeaders [] )
Настройка доступа для источника и методов при кросс-доменных запросах
Этот метод позволяет использовать несколько способов настройки доменов, см. примеры.
Полный URI
cors($request, 'http://www.cakephp.org');
URI с подстановкой
cors($request, 'http://*.cakephp.org');
Игнорирование запрошенного протокола
cors($request, 'www.cakephp.org');
Любой URI
cors($request, '*');
Белый список URI
cors($request, ['http://www.cakephp.org', '*.google.com', 'https://myproject.github.io']);
Примечание Параметры $allowedDomains, $allowedMethods, $allowedHeaders устарели. Вместо этого следует использовать объект-билдер.
Параметры
-
Cake\Network\Request$request - Объект запроса
- string|array
$allowedDomainsнеобязательно [] - Список разрешённых доменов, см. описание метода для получения дополнительной информации
- string|array
$allowedMethodsнеобязательно [] - Список разрешённых HTTP-методов
- string|array
$allowedHeadersнеобязательно [] - Список разрешённых HTTP-заголовков
Возвращает
Cake\Network\CorsBuilderОбъект билдера, предоставляющий удобный интерфейс для определения дополнительных заголовков CORS.
disableCache()source public
disableCache( )
Устанавливает соответствующие заголовки, чтобы указать клиенту не кэшировать ответ
download()source public
download( string $filename )
Устанавливает соответствующие заголовки, чтобы браузер скачал ответ в виде файла.
Параметры
- string
$filename - Имя файла, который браузер скачает из ответа
etag()source public
etag( string|null $hash null , boolean $weak false )
Устанавливает заголовок ответа Etag. Etag — это сильный признак того, что клиент HTTP может кэшировать ответ. Плохой способ генерации Etag — создание хэша выходных данных ответа, вместо этого создайте уникальный хэш уникальных компонентов, которые идентифицируют запрос, таких как время изменения, идентификатор ресурса и всё остальное, что вы считаете уникальным.
Второй параметр используется для указания клиентам, что содержимое изменилось, но семантически его можно использовать так же. Например, представьте страницу с счётчиком посещений, две разные страницы — эквиваленты, но отличаются на несколько байт. Это предоставляет клиенту возможность решить, использовать или нет кэшированную страницу.
Если параметры не переданы, возвращается текущий заголовок Etag.
Параметры
- string|null
$hashнеобязательно null - Уникальный хэш, который идентифицирует этот ответ
- boolean
$weakнеобязательно false Является ли ответ семантически таким же, как и другие с тем же хэшем?
Возвращает
string|nullexpires()source public
expires( string|DateTime|null $time null )
Устанавливает заголовок Expires для ответа, используя время истечения срока действия. Если вызывается без параметров, возвращает текущее значение Expires.
Примеры:
$response->expires('now') Истечение кэша ответа сейчас $response->expires(new DateTime('+1 day')) Установка истечения срока действия через 24 часа $response->expires() Возвращение текущего значения заголовка истечения срока действия
Параметры
- string|DateTime|null
$timeнеобязательно null - Действительная строка времени или экземпляр \DateTime.
Возвращает
string|nullfile()source public
file( string $path , array $options [] )
Настройка для отображения или загрузки указанного файла.
Если $_SERVER['HTTP_RANGE'] задан, будет возвращена часть файла вместо всего файла.
Ключи параметров
- name: Альтернативное имя файла для загрузки
- download: Если
trueустанавливает заголовок загрузки и принудительно загружает файл вместо отображения его в браузере
Параметры
- string
$path Путь к файлу. Если путь не является абсолютным и не разрешается в файл,
APPбудет добавлен к пути.- array
$optionsнеобязательно [] - Параметры. См. выше.
Выбрасывает
Cake\Network\Exception\NotFoundExceptiongetFile()source public
getFile( )
Получение текущего файла, если он существует.
Возвращает
Cake\Filesystem\File|nullФайл для использования в ответе или null
getMimeType()source public
getMimeType( string $alias )
Возвращает определение MIME-типа для псевдонима
Например getMimeType('pdf'); // returns 'application/pdf'
Параметры
- string
$alias - псевдоним типа содержимого для сопоставления
Возвращает
mixedСтрока сопоставленного MIME-типа или false, если псевдоним $alias не сопоставлен
header()source public
header( string|array|null $header null , string|array|null $value null )
Буферизует строку заголовка для отправки. Возвращает полный список буферизованных заголовков.
Один заголовок
header('Location', 'http://example.com'); Несколько заголовков
header(['Location' => 'http://example.com', 'X-Extra' => 'My header']);
Строковый заголовок
header('WWW-Authenticate: Negotiate'); Массив строковых заголовков
header(['WWW-Authenticate: Negotiate', 'Content-type: application/pdf']);
Несколько вызовов для установки одного и того же имени заголовка будут иметь тот же эффект, что и установка заголовка один раз с последним отправленным значением.
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: Not-Negotiate'); будет иметь тот же эффект, что и только
header('WWW-Authenticate: Not-Negotiate'); Параметры
- string|array|null
$headerнеобязательно null Массив строк заголовков или одна строка заголовка — также принимается ассоциативный массив «имя заголовка» => «значение заголовка» — также принимается массив строковых заголовков
- string|array|null
$valueнеобязательно null - Значение(я) заголовка
Возвращает
arrayСписок заголовков для отправки
httpCodes()source public
httpCodes( integer|array|null $code null )
Запрашивает и устанавливает допустимые HTTP-коды ответов и сообщения.
Параметры
- integer|array|null
$codeнеобязательно null -
Если $code — целое число, то соответствующий код/сообщение возвращается, если оно существует; в противном случае — null. Если $code — массив, то ключи используются в качестве кодов, а значения — в качестве сообщений для добавления к стандартным HTTP-кодам. Коды должны быть целыми числами, большими 99 и меньшими 1000. Имейте в виду, что спецификация HTTP определяет, что коды статуса начинаются с цифры от 1 до 5, что определяет класс ответа, ожидаемого клиентом. Пример:
httpCodes(404); // returns [404 => 'Not Found'] httpCodes([ 381 => 'Unicorn Moved', 555 => 'Unexpected Minotaur' ]); // sets these new values, and returns true httpCodes([ 0 => 'Nothing Here', -1 => 'Reverse Infinity', 12345 => 'Universal Password', 'Hello' => 'World' ]); // throws an exception due to invalid codes For more on HTTP status codes see: http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1
Возвращает
mixedАссоциативный массив с HTTP-кодами в качестве ключей и строками сообщений в качестве значений или null, если заданный $code не существует.
Выбрасывает
InvalidArgumentExceptionЕсли попытка добавить недопустимый код состояния
length()source public
length( integer|null $bytes null )
Устанавливает заголовок Content-Length для ответа. Если вызывается без аргументов, возвращает последний установленный Content-Length.
Параметры
- integer|null
$bytesнеобязательно null - Количество байтов
Возвращает
integer|nulllocation()source public
location( null|string $url null )
Доступ к заголовку расположения.
Получение/установка значения заголовка Location.
Параметры
- null|string
$urlнеобязательно null - Либо null для получения текущего расположения, либо строка для установки.
Возвращает
string|nullПри установке возвращается null. При чтении возвращается строка текущего значения заголовка расположения (если оно есть).
mapType()source public
mapType( string|array $ctype )
Преобразует тип содержимого обратно в псевдоним
например mapType('application/pdf'); // returns 'pdf'
Параметры
- string|array
$ctype - Тип содержимого для преобразования в виде строки или массив типов.
Возвращает
string|array|nullПсевдонимы для предоставленных типов.
maxAge()source public
maxAge( integer|null $seconds null )
Устанавливает директиву Cache-Control max-age. max-age — это количество секунд, после которого ответ больше не считается подходящим для извлечения из кэша клиента. Если вызывается без параметров, эта функция вернёт текущее значение max-age, если оно есть.
Параметры
- integer|null
$secondsнеобязательно null - если null, метод вернёт текущее значение max-age
Возвращает
integer|nullmodified()source public
modified( string|DateTime|null $time null )
Устанавливает заголовок Last-Modified для ответа, используя время модификации. Если вызывается без параметров, возвращает текущее значение Last-Modified.
Примеры:
$response->modified('now') Установит Last-Modified на текущее время $response->modified(new DateTime('+1 day')) Установит дату модификации за последние 24 часа $response->modified() Вернёт текущее значение заголовка Last-Modified
Параметры
- string|DateTime|null
$timeнеобязательно null - Действительная строка времени или экземпляр DateTime.
Возвращает
string|nullmustRevalidate()source public
mustRevalidate( boolean|null $enable null )
Устанавливает директиву Cache-Control must-revalidate. must-revalidate указывает, что ответ не должен быть предоставлен устаревшим кэшем ни при каких обстоятельствах без предварительной перевалидации с источником. Если вызывается без параметров, эта функция вернёт, присутствует ли must-revalidate.
Параметры
- boolean|null
$enableнеобязательно null если null, метод вернёт текущее значение must-revalidate. Если boolean, устанавливает или сбрасывает директиву.
Возвращает
booleannotModified()source public
notModified( )
Устанавливает ответ как Не изменён, удаляя содержимое тела, устанавливая код состояния на "304 Не изменён" и удаляя все конфликтующие заголовки.
outputCompressed()source public
outputCompressed( )
Возвращает, будет ли сжатие результата вывода PHP.
Возвращает
booleanprotocol()source public
protocol( string|null $protocol null )
Устанавливает протокол, используемый при отправке ответа. По умолчанию — HTTP/1.1. Если вызывается без аргументов, возвращает текущий настроенный протокол.
Параметры
- string|null
$protocolнеобязательно null - Протокол, используемый для отправки ответа.
Возвращает
stringТекущий установленный протокол
sharable()source public
sharable( boolean|null $public null , integer|null $time null )
Устанавливает, может ли ответ быть кэширован промежуточными прокси-серверами. Этот метод контролирует директиву public или private в заголовке Cache-Control.
Параметры
- boolean|null
$publicнеобязательно null Если true, заголовок Cache-Control будет установлен как public. Если false, ответ будет установлен как private. Если значение не указано, возвращает, является ли ответ совместным для кэширования.
- integer|null
$timeнеобязательно null - Время в секундах, после которого ответ больше не должен считаться свежим.
Возвращает
boolean|nullsharedMaxAge()source public
sharedMaxAge( integer|null $seconds null )
Устанавливает директиву Cache-Control s-maxage. max-age — это количество секунд, после которого ответ больше не считается подходящим для извлечения из общего кэша (например, в прокси-сервере). Если вызывается без параметров, эта функция вернёт текущее значение max-age, если оно есть.
Параметры
- integer|null
$secondsнеобязательно null - если null, метод вернёт текущее значение s-maxage
Возвращает
integer|nullstatusCode()source public
statusCode( integer|null $code null )
Устанавливает HTTP-код состояния, который нужно отправить. Если $code равен null, возвращается текущий код.
Параметры
- integer|null
$codeнеобязательно null - HTTP-код состояния
Возвращает
integerТекущий код состояния
Выбрасывает
InvalidArgumentExceptionКогда достигнут неизвестный код состояния.
stop()source public
stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- integer|string
$statusнеобязательно 0 - См. http://php.net/exit для значений
type()source public
type( string|null $contentType null )
Устанавливает тип содержимого ответа. Может быть расширением файла, которое будет сопоставлено с MIME-типом внутри, или строкой, представляющей MIME-тип. Если $contentType равен null, возвращается текущий тип содержимого. Если $contentType — ассоциативный массив, определения типов содержимого будут сохранены/заменены.
Установка типа содержимого
type('jpg'); Возвращение текущего типа содержимого
type();
Сохранение определений типов содержимого
type(['keynote' => 'application/keynote', 'bat' => 'application/bat']);
Замена определения типа содержимого
type(['jpg' => 'text/plain']);
Параметры
- строка|null
$contentTypeнеобязательный null - Ключ типа содержимого.
Возвращает
смешанныйТекущий тип содержимого или false, если предоставлен недопустимый тип содержимого
vary()source public
vary( string|array|null $cacheVariances null )
Устанавливает заголовок Vary для ответа. Если передан массив, значения будут объединены в строку, разделенную запятыми. Если параметры не переданы, возвращается массив с текущим значением заголовка Vary.
Параметры
- строка|массив|null
$cacheVariancesнеобязательный null Одна строка Vary или массив, содержащий список вариаций.
Возвращает
массив|null
© 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/3.2/class-Cake.TestSuite.Stub.Response.html