Spec-Zone.ru › Symfony 2.7

BinaryFileResponse

class BinaryFileResponse extends Response

BinaryFileResponse представляет HTTP-ответ, предоставляющий файл.

Постоянные значения

HTTP_CONTINUE
HTTP_SWITCHING_PROTOCOLS
HTTP_PROCESSING
HTTP_OK
HTTP_CREATED
HTTP_ACCEPTED
HTTP_NON_AUTHORITATIVE_INFORMATION
HTTP_NO_CONTENT
HTTP_RESET_CONTENT
HTTP_PARTIAL_CONTENT
HTTP_MULTI_STATUS
HTTP_ALREADY_REPORTED
HTTP_IM_USED
HTTP_MULTIPLE_CHOICES
HTTP_MOVED_PERMANENTLY
HTTP_FOUND
HTTP_SEE_OTHER
HTTP_NOT_MODIFIED
HTTP_USE_PROXY
HTTP_RESERVED
HTTP_TEMPORARY_REDIRECT
HTTP_PERMANENTLY_REDIRECT
HTTP_BAD_REQUEST
HTTP_UNAUTHORIZED
HTTP_PAYMENT_REQUIRED
HTTP_FORBIDDEN
HTTP_NOT_FOUND
HTTP_METHOD_NOT_ALLOWED
HTTP_NOT_ACCEPTABLE
HTTP_PROXY_AUTHENTICATION_REQUIRED
HTTP_REQUEST_TIMEOUT
HTTP_CONFLICT
HTTP_GONE
HTTP_LENGTH_REQUIRED
HTTP_PRECONDITION_FAILED
HTTP_REQUEST_ENTITY_TOO_LARGE
HTTP_REQUEST_URI_TOO_LONG
HTTP_UNSUPPORTED_MEDIA_TYPE
HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
HTTP_EXPECTATION_FAILED
HTTP_I_AM_A_TEAPOT
HTTP_MISDIRECTED_REQUEST
HTTP_UNPROCESSABLE_ENTITY
HTTP_LOCKED
HTTP_FAILED_DEPENDENCY
HTTP_RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL
HTTP_UPGRADE_REQUIRED
HTTP_PRECONDITION_REQUIRED
HTTP_TOO_MANY_REQUESTS
HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
HTTP_UNAVAILABLE_FOR_LEGAL_REASONS
HTTP_INTERNAL_SERVER_ERROR
HTTP_NOT_IMPLEMENTED
HTTP_BAD_GATEWAY
HTTP_SERVICE_UNAVAILABLE
HTTP_GATEWAY_TIMEOUT
HTTP_VERSION_NOT_SUPPORTED
HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL
HTTP_INSUFFICIENT_STORAGE
HTTP_LOOP_DETECTED
HTTP_NOT_EXTENDED
HTTP_NETWORK_AUTHENTICATION_REQUIRED

Свойства

ResponseHeaderBag $headers from Response
static array $statusTexts Таблица переводов кодов статусов. from Response

Методы

__construct(SplFileInfo|string $file, int $status = 200, array $headers = array(), bool $public = true, null|string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)
static Response create(SplFileInfo|string $file = null, int $status = 200, array $headers = array(), bool $public = true, null|string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)
string __toString()

Возвращает ответ как строку HTTP.

from Response
__clone()

Клонирует текущий экземпляр Response.

from Response
$this prepare(Request $request)

Подготавливает ответ перед отправкой клиенту.

$this sendHeaders()

Отправляет HTTP-заголовки.

from Response
$this sendContent()

Отправляет файл.

$this send()

Отправляет HTTP-заголовки и содержимое.

from Response
$this setContent(mixed $content)

Устанавливает содержимое ответа.

string getContent()

Получает текущее содержимое ответа.

$this setProtocolVersion(string $version)

Устанавливает версию HTTP-протокола (1.0 или 1.1).

from Response
string getProtocolVersion()

Получает версию HTTP-протокола.

from Response
$this setStatusCode(int $code, mixed $text = null)

Устанавливает код состояния ответа.

from Response
int getStatusCode()

Возвращает код состояния текущего веб-ответа.

from Response
$this setCharset(string $charset)

Устанавливает кодировку ответа.

from Response
string getCharset()

Получает кодировку ответа.

from Response
bool isCacheable()

Возвращает true, если ответ подходит для кэширования в любых обстоятельствах.

from Response
bool isFresh()

Возвращает true, если ответ «свежий».

from Response
bool isValidateable()

Возвращает true, если ответ включает заголовки, которые могут быть использованы для проверки ответа с исходным сервером с помощью запроса conditional GET.

from Response
$this setPrivate()

Помечает ответ как «приватный».

from Response
$this setPublic()

Помечает ответ как «публичный».

from Response
bool mustRevalidate()

Возвращает true, если ответ должен быть перепроверен кэшами.

from Response
DateTime getDate()

Возвращает заголовок Date в виде экземпляра DateTime.

from Response
$this setDate(DateTime $date)

Устанавливает заголовок Date.

from Response
int getAge()

Возвращает возраст ответа.

from Response
$this expire()

Помечает ответ устаревшим, установив заголовок Age равным максимальному возрасту ответа.

from Response
DateTime|null getExpires()

Возвращает значение заголовка Expires в виде экземпляра DateTime.

from Response
$this setExpires(DateTime $date = null)

Устанавливает HTTP-заголовок Expires с экземпляром DateTime.

from Response
int|null getMaxAge()

Возвращает количество секунд после времени, указанного в заголовке Date ответа, когда ответ больше не должен считаться свежим.

from Response
$this setMaxAge(int $value)

Устанавливает количество секунд, после которых ответ больше не должен считаться свежим.

from Response
$this setSharedMaxAge(int $value)

Устанавливает количество секунд, после которых ответ больше не должен считаться свежим кэшами общего использования.

from Response
int|null getTtl()

Возвращает время жизни ответа в секундах.

from Response
$this setTtl(int $seconds)

Устанавливает время жизни ответа для кэшей общего использования.

from Response
$this setClientTtl(int $seconds)

Устанавливает время жизни ответа для частных/клиентских кэшей.

from Response
DateTime|null getLastModified()

Возвращает заголовок Last-Modified в виде экземпляра DateTime.

from Response
$this setLastModified(DateTime $date = null)

Устанавливает заголовок Last-Modified с экземпляром DateTime.

from Response
string|null getEtag()

Возвращает буквальное значение заголовка ETag.

from Response
$this setEtag(string|null $etag = null, bool $weak = false)

Устанавливает значение ETag.

from Response
$this setCache(array $options)

Устанавливает заголовки кэша ответа (валидация и/или истечение срока действия).

from Response
$this setNotModified()

Изменяет ответ, чтобы он соответствовал правилам, определенным для кода состояния 304.

from Response
bool hasVary()

Возвращает true, если ответ включает заголовок Vary.

from Response
array getVary()

Возвращает массив имен заголовков, указанных в заголовке Vary.

from Response
$this setVary(string|array $headers, bool $replace = true)

Устанавливает заголовок Vary.

из Response
bool isNotModified(Request $request)

Определяет, соответствуют ли валидаторы ответа (ETag, Last-Modified) условному значению, указанному в запросе.

из Response
bool isInvalid()

Невалиден ли ответ?

из Response
bool isInformational()

Информативный ли ответ?

из Response
bool isSuccessful()

Успешен ли ответ?

из Response
bool isRedirection()

Перенаправление ли ответ?

из Response
bool isClientError()

Ошибка клиента?

из Response
bool isServerError()

Ошибка на стороне сервера?

из Response
bool isOk()

Ответ OK?

из Response
bool isForbidden()

Ответ заблокирован?

из Response
bool isNotFound()

Ошибка "не найдено"?

из Response
bool isRedirect(string $location = null)

Перенаправление ли ответ?

из Response
bool isEmpty()

Пустой ли ответ?

из Response
static closeOutputBuffers(int $targetLevel, bool $flush)

Очистка или сброс буферов вывода до заданного уровня.

из Response
$this setFile(SplFileInfo|string $file, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)

Устанавливает файл для потоковой передачи.

File getFile()

Получение файла.

setAutoLastModified()

Автоматически устанавливает заголовок Last-Modified согласно дате изменения файла.

setAutoEtag()

Автоматически устанавливает заголовок ETag согласно контрольной сумме файла.

$this setContentDisposition(string $disposition, string $filename = '', string $filenameFallback = '')

Устанавливает заголовок Content-Disposition с заданным именем файла.

static trustXSendfileTypeHeader()

Доверие к заголовку X-Sendfile-Type.

$this deleteFileAfterSend(bool $shouldDelete)

Если установлено в true, файл будет удалён после отправки запроса. Примечание: Если используется заголовок X-Sendfile, настройка deleteFileAfterSend не будет использоваться.

Подробности

__construct(SplFileInfo|string $file, int $status = 200, array $headers = array(), bool $public = true, null|string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)

Параметры

SplFileInfo|string $file Файл для потоковой передачи
int $status Код состояния ответа
array $headers Массив заголовков ответа
bool $public Файлы по умолчанию общедоступны
null|string $contentDisposition Тип Content-Disposition для автоматической установки с именем файла
bool $autoEtag Нужно ли автоматически устанавливать заголовок ETag
bool $autoLastModified Нужно ли автоматически устанавливать заголовок Last-Modified

static Response create(SplFileInfo|string $file = null, int $status = 200, array $headers = array(), bool $public = true, null|string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)

Параметры

SplFileInfo|string $file Файл для потоковой передачи
int $status Код состояния ответа
array $headers Массив заголовков ответа
bool $public Файлы по умолчанию общедоступны
null|string $contentDisposition Тип Content-Disposition для автоматической установки с именем файла
bool $autoEtag Нужно ли автоматически устанавливать заголовок ETag
bool $autoLastModified Нужно ли автоматически устанавливать заголовок Last-Modified

Значение результата

Response

string __toString()

Возвращает ответ в виде строки HTTP.

Строковое представление ответа такое же, как и то, что будет отправлено клиенту, только если перед этим был вызван метод prepare().

Значение результата

string Ответ в виде строки HTTP

См. также

prepare()

__clone()

Клонирует текущий экземпляр Response.

$this prepare(Request $request)

Подготавливает ответ перед отправкой клиенту.

Этот метод изменяет ответ, чтобы он соответствовал RFC 2616. Большинство изменений основаны на запросе, «связанном» с этим ответом.

Параметры

Request $request Экземпляр Request

Значение результата

$this

$this sendHeaders()

Отправляет HTTP-заголовки.

Значение результата

$this

$this sendContent()

Отправляет файл.

{@inheritdoc}

Значение результата

$this

$this send()

Отправляет HTTP-заголовки и содержимое.

Значение результата

$this

$this setContent(mixed $content)

Устанавливает содержимое ответа.

Допустимые типы: строки, числа, null и объекты, реализующие метод __toString().

Параметры

mixed $content Содержимое, которое можно привести к строке

Значение результата

$this

Исключения

UnexpectedValueException

string getContent()

Получает текущее содержимое ответа.

Значение результата

string Содержимое

$this setProtocolVersion(string $version)

Устанавливает версию протокола HTTP (1.0 или 1.1).

Параметры

string $version Версия протокола HTTP

Значение результата

$this

string getProtocolVersion()

Получает версию протокола HTTP.

Значение результата

string Версия протокола HTTP

$this setStatusCode(int $code, mixed $text = null)

Устанавливает код состояния ответа.

Если текст статуса равен null, он будет автоматически заполнен для известных кодов статуса, в противном случае останется пустым.

Параметры

int $code Код HTTP-статуса
mixed $text Текст HTTP-статуса

Значение результата

$this

Исключения

InvalidArgumentException Когда код HTTP-статуса недействителен

int getStatusCode()

Возвращает код статуса текущего веб-ответа.

Значение результата

int Код статуса

$this setCharset(string $charset)

Устанавливает кодировку ответа.

Параметры

string $charset Кодировка

Значение результата

$this

string getCharset()

Возвращает кодировку ответа.

Значение результата

string Кодировка

bool isCacheable()

Возвращает true, если ответ стоит кэшировать в любых обстоятельствах.

Ответы, помеченные как «приватные» с явным директивой Cache-Control, считаются некэшируемыми.

Ответы без срока действия кэширования (Expires, max-age) или валидатора кэша (Last-Modified, ETag) считаются некэшируемыми.

Значение результата

bool true, если ответ стоит кэшировать, иначе false

bool isFresh()

Возвращает true, если ответ «свежий».

Свежие ответы могут быть получены из кэша без взаимодействия с источником. Ответ считается свежим, если он содержит указатель Cache-Control/max-age или заголовок Expires, и рассчитанный возраст меньше срока действия кэширования.

Значение результата

bool true, если ответ свежий, иначе false

bool isValidateable()

Возвращает true, если ответ содержит заголовки, которые могут быть использованы для проверки ответа на сервере источника с помощью условного запроса GET.

Значение результата

bool true, если ответ проверяемый, иначе false

$this setPrivate()

Помечает ответ как «приватный».

Это делает ответ недоступным для других клиентов.

Значение результата

$this

$this setPublic()

Помечает ответ как «общедоступный».

Это делает ответ доступным для других клиентов.

Значение результата

$this

bool mustRevalidate()

Возвращает true, если ответ должен быть перепроверен кэшами.

Этот метод указывает, что ответ не должен быть представлен устаревшим кэшем в любых обстоятельствах без предварительной перепроверки с источником. При наличии TTL ответа не должно быть больше значения, предоставленного источником.

Значение результата

bool true, если ответ должен быть перепроверен кэшем, иначе false

DateTime getDate()

Возвращает заголовок Date как экземпляр DateTime.

Значение результата

DateTime Экземпляр \DateTime

Исключения

RuntimeException Если заголовок не может быть разобран

$this setDate(DateTime $date)

Устанавливает заголовок Date.

Параметры

DateTime $date Экземпляр \DateTime

Значение результата

$this

int getAge()

Возвращает возраст ответа.

Значение результата

int Возраст ответа в секундах

$this expire()

Помечает ответ как устаревший, установив заголовок Age равным максимальному возрасту ответа.

Значение возврата

$this

DateTime|null getExpires()

Возвращает значение заголовка Expires в виде объекта DateTime.

Значение возврата

DateTime|null Объект DateTime или null, если заголовок не существует

$this setExpires(DateTime $date = null)

Устанавливает HTTP-заголовок Expires с объектом DateTime.

Передача null в качестве значения удалит заголовок.

Параметры

DateTime $date Объект \DateTime или null для удаления заголовка

Значение возврата

$this

int|null getMaxAge()

Возвращает количество секунд после времени, указанного в заголовке Date ответа, когда ответ больше не должен считаться свежим.

Сначала проверяется директива s-maxage, затем max-age, а затем используется заголовок expires. Возвращает null, когда максимальный срок действия установить нельзя.

Значение возврата

int|null Количество секунд

$this setMaxAge(int $value)

Устанавливает количество секунд, по истечении которых ответ больше не должен считаться свежим.

Этот метод устанавливает директиву Cache-Control max-age.

Параметры

int $value Количество секунд

Значение возврата

$this

$this setSharedMaxAge(int $value)

Устанавливает количество секунд, по истечении которых ответ больше не должен считаться свежим для общих кэшей.

Этот метод устанавливает директиву Cache-Control s-maxage.

Параметры

int $value Количество секунд

Значение возврата

$this

int|null getTtl()

Возвращает время жизни ответа в секундах.

Возвращает null, когда информация о свежести ответа отсутствует.

Когда TTL ответа <= 0, ответ может не быть получен из кэша без предварительной проверки с источником.

Значение возврата

int|null TTL в секундах

$this setTtl(int $seconds)

Устанавливает время жизни ответа для общих кэшей.

Этот метод корректирует директиву Cache-Control/s-maxage.

Параметры

int $seconds Количество секунд

Значение возврата

$this

$this setClientTtl(int $seconds)

Устанавливает время жизни ответа для частных/клиентских кэшей.

Этот метод корректирует директиву Cache-Control/max-age.

Параметры

int $seconds Количество секунд

Значение возврата

$this

DateTime|null getLastModified()

Возвращает заголовок Last-Modified HTTP как объект DateTime.

Значение возврата

DateTime|null Объект DateTime или null, если заголовок не существует

Исключения

RuntimeException При невозможности разобрать HTTP-заголовок

$this setLastModified(DateTime $date = null)

Устанавливает заголовок Last-Modified HTTP с помощью объекта DateTime.

Передача null в качестве значения удалит заголовок.

Параметры

DateTime $date Объект \DateTime или null для удаления заголовка

Значение возврата

$this

string|null getEtag()

Возвращает текстовое значение HTTP-заголовка ETag.

Значение возврата

string|null HTTP-заголовок ETag или null, если он не существует

$this setEtag(string|null $etag = null, bool $weak = false)

Устанавливает значение ETag.

Параметры

string|null $etag Уникальный идентификатор ETag или null для удаления заголовка
bool $weak Требуется ли слабый ETag

Значение возврата

$this

$this setCache(array $options)

Устанавливает кешированные заголовки ответа (валидация и/или срок действия).

Доступные опции: etag, lastmodified, maxage, s_maxage, private и public.

Параметры

array $options Массив опций кэширования

Значение возврата

$this

Исключения

InvalidArgumentException

$this setNotModified()

Изменяет ответ так, чтобы он соответствовал правилам, определенным для кода состояния 304.

Устанавливает код состояния, удаляет тело и отбрасывает заголовки, которые НЕ ДОЛЖНЫ включаться в ответы 304.

Значение возврата

$this

См. также

http://tools.ietf.org/html/rfc2616#section-10.3.5

bool hasVary()

Возвращает true, если ответ включает заголовок Vary.

Значение возврата

bool true, если ответ включает заголовок Vary, иначе false

array getVary()

Возвращает массив имен заголовков, заданных в заголовке Vary.

Значение возврата

array Массив имён Vary

$this setVary(string|array $headers, bool $replace = true)

Устанавливает заголовок Vary.

Параметры

string|array $headers
bool $replace Заменять ли фактическое значение (по умолчанию true)

Значение возврата

$this

bool isNotModified(Request $request)

Определяет, соответствуют ли валидаторы ответа (ETag, Last-Modified) условным значениям, указанным в запросе.

Если ответ не изменён, устанавливает код состояния 304 и удаляет фактическое содержимое, вызвав метод setNotModified().

Параметры

Request $request Объект Request

Значение возврата

bool true, если валидаторы ответа соответствуют запросу, иначе false

bool isInvalid()

Недействителен ли ответ?

Значение возврата

bool

См. также

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

bool isInformational()

Информативный ли ответ?

Значение возврата

bool

bool isSuccessful()

Успешен ли ответ?

Значение возврата

bool

bool isRedirection()

Является ли ответ перенаправлением?

Значение возврата

bool

bool isClientError()

Есть ли ошибка клиента?

Значение возврата

bool

bool isServerError()

Была ли ошибка на стороне сервера?

Значение возврата

bool

bool isOk()

Успешен ли ответ?

Значение возврата

bool

bool isForbidden()

Запрещён ли ответ?

Значение возврата

bool

bool isNotFound()

Является ли ответ ошибкой «не найдено»?

Значение возврата

bool

bool isRedirect(string $location = null)

Является ли ответ перенаправлением?

Параметры

string $location

Значение возвращаемого значения

bool

bool isEmpty()

Пустой ли ответ?

Значение возвращаемого значения

bool

static closeOutputBuffers(int $targetLevel, bool $flush)

Очищает или сбрасывает буферы вывода до целевого уровня.

Результирующий уровень может быть больше целевого уровня, если был обнаружен не удаляемый буфер.

Параметры

int $targetLevel Целевой уровень буферизации вывода
bool $flush Сбрасывать или очищать буферы

$this setFile(SplFileInfo|string $file, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true)

Устанавливает файл для потоковой передачи.

Параметры

SplFileInfo|string $file Файл для потоковой передачи
string $contentDisposition
bool $autoEtag
bool $autoLastModified

Значение возвращаемого значения

$this

Исключения

FileException

File getFile()

Получает файл.

Значение возвращаемого значения

File Файл для потоковой передачи

setAutoLastModified()

Автоматически устанавливает заголовок Last-Modified в соответствии с датой изменения файла.

setAutoEtag()

Автоматически устанавливает заголовок ETag в соответствии с контрольной суммой файла.

$this setContentDisposition(string $disposition, string $filename = '', string $filenameFallback = '')

Устанавливает заголовок Content-Disposition с заданным именем файла.

Параметры

string $disposition ResponseHeaderBag::DISPOSITIONINLINE или ResponseHeaderBag::DISPOSITIONATTACHMENT
string $filename Необязательно использовать это имя файла в кодировке UTF-8 вместо реального имени файла
string $filenameFallback Имя файла по умолчанию, содержащее только символы ASCII. По умолчанию — автоматически закодированное имя файла

Значение возвращаемого значения

$this

static trustXSendfileTypeHeader()

Доверять заголовку X-Sendfile-Type.

$this deleteFileAfterSend(bool $shouldDelete)

Если это значение установлено в true, файл будет удален после отправки запроса. Примечание: если используется заголовок X-Sendfile, настройка deleteFileAfterSend не будет использоваться.

Параметры

bool $shouldDelete

Значение возвращаемого значения

$this

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.7/Symfony/Component/HttpFoundation/BinaryFileResponse.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API