StreamedResponse
class StreamedResponse extends Response
StreamedResponse представляет потоковое HTTP-ответом.
StreamedResponse использует обратный вызов для своего содержимого.
Обратный вызов должен использовать стандартные функции PHP, такие как echo, для потоковой передачи ответа клиенту. Если необходимо, можно также использовать метод flush().
Постоянные значения
| 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_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_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(callable $callback = null, int $status = 200, array $headers = array()) Конструктор. | ||
| static Response | create(callable|null $callback = null, int $status = 200, array $headers = array()) Метод-фабрика для цепочки вызовов. | |
| string | __toString() Возвращает ответ как строку HTTP. | из Response |
| __clone() Клонирует текущий экземпляр Response. | из Response | |
| Response | prepare(Request $request) Подготавливает ответ перед отправкой клиенту. | из Response |
| Response | sendHeaders() Отправляет HTTP-заголовки. | из Response |
| Response | sendContent() Отправляет содержимое для текущего веб-ответа. | |
| Response | send() Отправляет HTTP-заголовки и содержимое. | из Response |
| Response | setContent(mixed $content) Устанавливает содержимое ответа. | |
| string | getContent() Получает текущее содержимое ответа. | |
| Response | setProtocolVersion(string $version) Устанавливает версию HTTP-протокола (1.0 или 1.1). | из Response |
| string | getProtocolVersion() Получает версию HTTP-протокола. | из Response |
| Response | setStatusCode(int $code, mixed $text = null) Устанавливает код состояния ответа. | из Response |
| int | getStatusCode() Возвращает код состояния текущего веб-ответа. | из Response |
| Response | setCharset(string $charset) Устанавливает кодировку ответа. | из Response |
| string | getCharset() Возвращает кодировку ответа. | из Response |
| bool | isCacheable() Возвращает true, если ответ можно кэшировать в любом случае. | из Response |
| bool | isFresh() Возвращает true, если ответ "свежий". | из Response |
| bool | isValidateable() Возвращает true, если ответ содержит заголовки, которые можно использовать для проверки ответа с исходным сервером с помощью запроса с условным GET. | из Response |
| Response | setPrivate() Помечает ответ как "приватный". | из Response |
| Response | setPublic() Помечает ответ как "публичный". | из Response |
| bool | mustRevalidate() Возвращает true, если ответ должен быть перепроверен кэшами. | из Response |
| DateTime | getDate() Возвращает заголовок Date как экземпляр DateTime. | из Response |
| Response | setDate(DateTime $date) Устанавливает заголовок Date. | из Response |
| int | getAge() Возвращает возраст ответа. | из Response |
| Response | expire() Помечает ответ устаревшим, установив заголовок Age равным максимальному возрасту ответа. | из Response |
| DateTime|null | getExpires() Возвращает значение заголовка Expires как экземпляр DateTime. | из Response |
| Response | setExpires(DateTime $date = null) Устанавливает HTTP-заголовок Expires с помощью экземпляра DateTime. | из Response |
| int|null | getMaxAge() Возвращает количество секунд после времени, указанного в заголовке Date ответа, когда ответ больше не считается свежим. | из Response |
| Response | setMaxAge(int $value) Устанавливает количество секунд, по истечении которых ответ больше не считается свежим. | из Response |
| Response | setSharedMaxAge(int $value) Устанавливает количество секунд, по истечении которых ответ больше не считается свежим для кэшей общего использования. | из Response |
| int|null | getTtl() Возвращает время жизни ответа в секундах. | из Response |
| Response | setTtl(int $seconds) Устанавливает время жизни ответа для кэшей общего использования. | из Response |
| Response | setClientTtl(int $seconds) Устанавливает время жизни ответа для частных/клиентских кэшей. | из Response |
| DateTime|null | getLastModified() Возвращает заголовок Last-Modified как экземпляр DateTime. | из Response |
| Response | setLastModified(DateTime $date = null) Устанавливает заголовок Last-Modified с помощью экземпляра DateTime. | из Response |
| string|null | getEtag() Возвращает буквальное значение заголовка ETag HTTP. | из Response |
| Response | setEtag(string|null $etag = null, bool $weak = false) Устанавливает значение ETag. | from Response |
| Response | setCache(array $options) Устанавливает кэширование ответа (валидацию и/или срок действия). | from Response |
| Response | setNotModified() Изменяет ответ, чтобы он соответствовал правилам, определённым для кода состояния 304. | from Response |
| bool | hasVary() Возвращает true, если ответ содержит заголовок Vary. | from Response |
| array | getVary() Возвращает массив имён заголовков, указанных в заголовке Vary. | from Response |
| Response | setVary(string|array $headers, bool $replace = true) Устанавливает заголовок Vary. | from Response |
| bool | isNotModified(Request $request) Определяет, соответствуют ли валидаторы ответа (ETag, Last-Modified) условным значениям, указанным в запросе. | from Response |
| bool | isInvalid() Некорректен ли ответ? | from Response |
| bool | isInformational() Информативен ли ответ? | from Response |
| bool | isSuccessful() Успешен ли ответ? | from Response |
| bool | isRedirection() Перенаправление ли ответ? | from Response |
| bool | isClientError() Ошибка клиента? | from Response |
| bool | isServerError() Ошибка на стороне сервера? | from Response |
| bool | isOk() Успешен ли ответ? | from Response |
| bool | isForbidden() Запрещён ли доступ? | from Response |
| bool | isNotFound() Ошибка «не найдено»? | from Response |
| bool | isRedirect(string $location = null) Перенаправление ли ответ? | from Response |
| bool | isEmpty() Пустой ли ответ? | from Response |
| static | closeOutputBuffers(int $targetLevel, bool $flush) Очистка или сброс буферов вывода до целевого уровня. | from Response |
| setCallback(callable $callback) Устанавливает PHP обратный вызов, связанный с этим ответом. |
Подробности
__construct(callable $callback = null, int $status = 200, array $headers = array())
Конструктор.
Параметры
| callable | $callback | Действительный PHP-обработчик или null для его последующей установки |
| int | $status | Код состояния ответа |
| array | $headers | Массив заголовков ответа |
static Response create(callable|null $callback = null, int $status = 200, array $headers = array())
Метод фабрики для цепочки вызовов.
Параметры
| callable|null | $callback | Действительный PHP-обработчик или null для его последующей установки |
| int | $status | Код состояния ответа |
| array | $headers | Массив заголовков ответа |
Значение возврата
| Response |
string __toString()
Возвращает ответ как строку HTTP.
Представление ответа в виде строки совпадает с тем, что будет отправлено клиенту только в том случае, если метод prepare() был вызван ранее.
Значение возврата
| string | Ответ как строка HTTP |
См. также
| prepare() |
__clone()
Клонирует текущий экземпляр Response.
Response prepare(Request $request)
Подготавливает ответ перед отправкой клиенту.
Этот метод корректирует ответ, чтобы он соответствовал RFC 2616. Большинство изменений основаны на запросе, «ассоциированном» с этим ответом.
Параметры
| Request | $request | Экземпляр Request |
Значение возврата
| Response | Текущий ответ. |
Response sendHeaders()
Отправляет HTTP-заголовки.
Значение возврата
| Response |
Response sendContent()
Отправляет содержимое для текущего ответа веб-приложения.
Значение возврата
| Response |
Response send()
Отправляет HTTP-заголовки и содержимое.
Значение возврата
| Response |
Response setContent(mixed $content)
Устанавливает содержимое ответа.
Допустимые типы — строки, числа, null и объекты, реализующие метод __toString().
Параметры
| mixed | $content | Содержимое, которое может быть преобразовано в строку |
Значение возврата
| Response |
Исключения
| UnexpectedValueException |
string getContent()
Получает текущее содержимое ответа.
Значение возврата
| string | Содержимое |
Response setProtocolVersion(string $version)
Устанавливает версию протокола HTTP (1.0 или 1.1).
Параметры
| string | $version | Версия протокола HTTP |
Значение возврата
| Response |
string getProtocolVersion()
Получает версию протокола HTTP.
Значение возврата
| string | Версия протокола HTTP |
Response setStatusCode(int $code, mixed $text = null)
Устанавливает код состояния ответа.
Параметры
| int | $code | Код состояния HTTP |
| mixed | $text | Текст состояния HTTP Если текст состояния равен null, он будет автоматически заполнен для известных кодов состояния, в противном случае останется пустым. |
Значение возврата
| Response |
Исключения
| InvalidArgumentException | При некорректном коде состояния HTTP |
int getStatusCode()
Возвращает код состояния текущего веб-ответа.
Значение возврата
| int | Код состояния |
Response setCharset(string $charset)
Устанавливает кодировку символов ответа.
Параметры
| string | $charset | Кодировка символов |
Значение возврата
| Response |
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 в противном случае |
Response setPrivate()
Помечает ответ как «private».
Это делает ответ недоступным для других клиентов.
Значение возврата
| Response |
Response setPublic()
Помечает ответ как «public».
Это делает ответ доступным для других клиентов.
Значение возврата
| Response |
bool mustRevalidate()
Возвращает true, если ответ необходимо перепроверить кэшами.
Этот метод указывает, что ответ не должен быть отображён устаревшим кэшем в любом случае без предварительной проверки с источником. При его наличии TTL ответа не следует изменять, чтобы он был больше, чем значение, предоставленное источником.
Значение возврата
| bool | true, если ответ должен быть перепроверен кэшем, false в противном случае |
DateTime getDate()
Возвращает заголовок Date как экземпляр DateTime.
Значение возврата
| DateTime | Экземпляр \DateTime |
Исключения
| RuntimeException | При невозможности разбора заголовка |
Response setDate(DateTime $date)
Устанавливает заголовок Date.
Параметры
| DateTime | $date | Экземпляр \DateTime |
Значение возврата
| Response |
int getAge()
Возвращает возраст ответа.
Значение результата
| int | Возраст ответа в секундах |
Response expire()
Помечает ответ как устаревший, установив заголовок Age равным максимальному возрасту ответа.
Значение результата
| Response |
DateTime|null getExpires()
Возвращает значение заголовка Expires в виде объекта DateTime.
Значение результата
| DateTime|null | Объект DateTime или null, если заголовок не существует |
Response setExpires(DateTime $date = null)
Устанавливает заголовок Expires HTTP с объектом DateTime.
Передача null в качестве значения удалит заголовок.
Параметры
| DateTime | $date | Объект \DateTime или null для удаления заголовка |
Значение результата
| Response |
int|null getMaxAge()
Возвращает количество секунд после времени, указанного в заголовке Date ответа, когда ответ больше не должен считаться свежим.
Сначала проверяется директива s-maxage, затем max-age, а затем используется заголовок expires. Возвращает null, если максимальный возраст установить невозможно.
Значение результата
| int|null | Количество секунд |
Response setMaxAge(int $value)
Устанавливает количество секунд, после которых ответ больше не должен считаться свежим.
Этот метод устанавливает директиву Cache-Control max-age.
Параметры
| int | $value | Количество секунд |
Значение результата
| Response |
Response setSharedMaxAge(int $value)
Устанавливает количество секунд, после которых ответ больше не должен считаться свежим для общих кэшей.
Этот метод устанавливает директиву Cache-Control s-maxage.
Параметры
| int | $value | Количество секунд |
Значение результата
| Response |
int|null getTtl()
Возвращает время жизни ответа в секундах.
Возвращает null, когда информация о свежести отсутствует в ответе.
Если время жизни ответа (TTL) меньше или равно 0, ответ может не быть получен из кэша без предварительной проверки с источником.
Значение результата
| int|null | TTL в секундах |
Response setTtl(int $seconds)
Устанавливает время жизни ответа для общих кэшей.
Этот метод корректирует директиву Cache-Control/s-maxage.
Параметры
| int | $seconds | Количество секунд |
Значение результата
| Response |
Response setClientTtl(int $seconds)
Устанавливает время жизни ответа для частных/клиентских кэшей.
Этот метод корректирует директиву Cache-Control/max-age.
Параметры
| int | $seconds | Количество секунд |
Значение результата
| Response |
DateTime|null getLastModified()
Возвращает заголовок Last-Modified HTTP в виде объекта DateTime.
Значение результата
| DateTime|null | Объект DateTime или null, если заголовок не существует |
Исключения
| RuntimeException | При невозможности анализа HTTP заголовка |
Response setLastModified(DateTime $date = null)
Устанавливает заголовок Last-Modified HTTP с объектом DateTime.
Передача null в качестве значения удалит заголовок.
Параметры
| DateTime | $date | Объект \DateTime или null для удаления заголовка |
Значение результата
| Response |
string|null getEtag()
Возвращает текстовое значение заголовка HTTP ETag.
Значение результата
| string|null | Заголовок HTTP ETag или null, если он не существует |
Response setEtag(string|null $etag = null, bool $weak = false)
Устанавливает значение ETag.
Параметры
| string|null | $etag | Уникальный идентификатор ETag или null для удаления заголовка |
| bool | $weak | Требуется ли слабый ETag |
Значение результата
| Response |
Response setCache(array $options)
Устанавливает заголовки кэширования ответа (валидации и/или истечения срока действия).
Доступные параметры: etag, lastmodified, maxage, s_maxage, private и public.
Параметры
| array | $options | Массив параметров кэширования |
Значение результата
| Response |
Исключения
| InvalidArgumentException |
Response setNotModified()
Изменяет ответ в соответствии с правилами для кода состояния 304.
Устанавливает код состояния, удаляет тело и отбрасывает заголовки, которые НЕ ДОЛЖНЫ включаться в ответы 304.
Значение результата
| Response |
См. также
| http://tools.ietf.org/html/rfc2616#section-10.3.5 |
bool hasVary()
Возвращает true, если ответ включает заголовок Vary.
Значение результата
| bool | true, если ответ включает заголовок Vary, иначе false |
array getVary()
Возвращает массив имен заголовков, указанных в заголовке Vary.
Значение результата
| array | Массив имен Vary |
Response setVary(string|array $headers, bool $replace = true)
Устанавливает заголовок Vary.
Параметры
| string|array | $headers | |
| bool | $replace | Заменить ли фактическое значение (по умолчанию true) |
Значение результата
| Response |
bool isNotModified(Request $request)
Определяет, соответствуют ли валидаторы ответа (ETag, Last-Modified) условным значениям, указанным в запросе.
Если ответ не изменен, устанавливает код состояния 304 и удаляет фактическое содержимое, вызвав метод setNotModified().
Параметры
| Request | $request | Экземпляр Request |
Значение результата
| bool | true, если валидаторы ответа соответствуют запросу, иначе false |
bool isInvalid()
Недействителен ли ответ?
Значение результата
| bool |
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 | Выполнить сброс или очистку буферов |
setCallback(callable $callback)
Устанавливает PHP-обработчик, связанный с этим ответом.
Параметры
| callable | $callback | Действительная PHP-обработчик |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/StreamedResponse.html