Класс 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: кодировка символов для тела ответа
__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
массив__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' (Etag) и '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.
### Опции (при установке конфигурации) - name: Имя cookie - value: Значение cookie - expire: Время истечения срока действия cookie в - path: Путь, на который распространяется cookie - domain: Домен, для которого предназначена cookie. - secure: Используется ли HTTPS для cookie? - 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 ответа. Etags — это сильный индикатор того, что клиентом HTTP-клиента может быть кэширован ответ. Плохой способ генерации Etags — создание хэша выходных данных ответа. Вместо этого создайте уникальный хэш уникальных компонентов, которые идентифицируют запрос, например, время изменения, идентификатор ресурса и всё, что вы считаете уникальным.
Второй параметр используется для указания клиентам, что содержимое изменилось, но семантически может использоваться как то же самое. Например, представьте страницу со счётчиком посещений. Два разных просмотра страницы эквивалентны, но отличаются несколькими байтами. Это оставляет за клиентом решение о том, использовать или нет кэшированную страницу.
Если параметры не переданы, возвращается текущий заголовок 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 ответа.
Параметры
- целое число|массив|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
Возвращает
смешанный типАссоциативный массив кодов HTTP в качестве ключей и строк сообщений в качестве значений, или null, если заданный $code не существует.
Вызывает исключение
InvalidArgumentExceptionЕсли попытка добавить недопустимый код состояния
length()source public
length( integer|null $bytes null )
Устанавливает заголовок Content-Length для ответа. Если вызов без аргументов, возвращает последний установленный Content-Length.
Параметры
- целое число|null
$bytesнеобязательный null - Количество байтов
Возвращает
целое число|nulllocation()source public
location( null|string $url null )
Доступ к заголовку location.
Получение/установка значения заголовка Location.
Параметры
- null|строка
$urlнеобязательный null - Либо null для получения текущего местоположения, либо строка для установки.
Возвращает
строка|nullПри установке location возвращается null. При чтении location возвращается строка текущего значения заголовка location (если есть).
mapType()source public
mapType( string|array $ctype )
Сопоставляет тип контента с псевдонимом.
Например mapType('application/pdf'); // returns 'pdf'
Параметры
- строка|массив
$ctype - Тип контента для сопоставления, или массив типов.
Возвращает
строка|массив|nullПсевдонимы для предоставленных типов.
maxAge()source public
maxAge( integer|null $seconds null )
Устанавливает директиву Cache-Control max-age. max-age — количество секунд, после которого ответ больше не должен рассматриваться как хороший кандидат для получения из кэша клиента. Если вызывается без параметров, эта функция возвращает текущее значение max-age, если таковое имеется.
Параметры
- целое число|null
$secondsнеобязательный null - если null, метод вернёт текущее значение max-age
Возвращает
целое число|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
Параметры
- строка|DateTime|null
$timeнеобязательный null - Действительная строка времени или экземпляр DateTime.
Возвращает
строка|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. Если вызывается без аргументов, возвращает текущий настроенный протокол.
Параметры
- строка|null
$protocolнеобязательный null - Протокол, который будет использоваться для отправки ответа.
Возвращает
строкаТекущий установленный протокол
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. Если значение не указано, вернёт, является ли ответ разделяемым.
- целое число|null
$timeнеобязательный null - время в секундах, после которого ответ больше не должен считаться свежим
Возвращает
boolean|nullsharedMaxAge()source public
sharedMaxAge( integer|null $seconds null )
Устанавливает директиву Cache-Control s-maxage. s-maxage — количество секунд, после которого ответ больше не должен рассматриваться как хороший кандидат для получения из разделяемого кэша (например, на прокси-сервере). Если вызывается без параметров, эта функция вернёт текущее значение max-age, если таковое имеется.
Параметры
- целое число|null
$secondsнеобязательный null - если null, метод вернёт текущее значение s-maxage
Возвращает
целое число|nullstatusCode()source public
statusCode( integer|null $code null )
Устанавливает код HTTP состояния, которое будет отправлено. Если $code равен null, возвращается текущий код.
Параметры
- целое число|null
$codeнеобязательный null - код HTTP состояния
Возвращает
целое числоТекущий код состояния
Вызывает исключение
InvalidArgumentExceptionЕсли достигнут неизвестный код состояния.
stop()source public
stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число|строка
$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–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.3/class-Cake.TestSuite.Stub.Response.html