Spec-Zone.ru › Symfony 3.4

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 из Response
static array $statusTexts Таблица перевода кодов состояния. из 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
$this setImmutable(bool $immutable = true)

Отмечает ответ как "неизменяемый".

from Response
bool isImmutable()

Возвращает true, если ответ помечен как "неизменяемый".

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 HTTP как экземпляр DateTime.

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

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

from Response
string|null getEtag()

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

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.

из Response
array getVary()

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

из 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()

Нормальный ли ответ?

из 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, если ответ подходит для кэширования в любом случае.

Ответы, помеченные как «private» с явным директивой 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()

Помечает ответ как «private».

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

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

$this

$this setPublic()

Помечает ответ как «public».

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

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

$this

$this setImmutable(bool $immutable = true)

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

Параметры

bool $immutable включает или выключает директиву immutable

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

$this

bool isImmutable()

Возвращает true, если ответ помечен как «неизменяемый».

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

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

bool mustRevalidate()

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

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

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

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, ответ может не быть получен из кэша без предварительной перепроверки с источником.

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

Возвращаемое значение

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)

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

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

Параметры

DateTime $date Экземпляр \DateTime или null для удаления заголовка

Возвращаемое значение

$this

string|null getEtag()

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

Возвращаемое значение

string|null Заголовок ETag HTTP или 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()

Ответ OK?

Возвращаемое значение

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/3.4/Symfony/Component/HttpFoundation/BinaryFileResponse.html

Spec-Zone.ru

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