Spec-Zone.ru › Symfony 4.1

Ответ

класс Ответ

Ответ представляет HTTP-ответ.

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

HTTP_CONTINUE
HTTP_SWITCHING_PROTOCOLS
HTTP_PROCESSING
HTTP_EARLY_HINTS
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_TOO_EARLY
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
protected string $content
protected string $version
protected int $statusCode
protected string $statusText
protected string $charset
static array $statusTexts Таблица перевода кодов состояния.

Методы

__construct($content = '', int $status = 200, array $headers = array())
static Response create(mixed $content = '', int $status = 200, array $headers = array())

Метод фабрики для цепочки.

string __toString()

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

__clone()

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

$this prepare(Request $request)

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

$this sendHeaders()

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

$this sendContent()

Отправляет содержимое для текущего веб-ответа.

$this send()

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

$this setContent(mixed $content)

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

string getContent()

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

$this setProtocolVersion(string $version)

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

string getProtocolVersion()

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

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

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

int getStatusCode()

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

$this setCharset(string $charset)

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

string|null getCharset()

Извлекает кодировку ответа.

bool isCacheable()

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

bool isFresh()

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

bool isValidateable()

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

$this setPrivate()

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

$this setPublic()

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

$this setImmutable(bool $immutable = true)

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

bool isImmutable()

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

bool mustRevalidate()

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

DateTimeInterface|null getDate()

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

$this setDate(DateTimeInterface $date)

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

int getAge()

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

$this expire()

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

DateTimeInterface|null getExpires()

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

$this setExpires(DateTimeInterface $date = null)

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

int|null getMaxAge()

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

$this setMaxAge(int $value)

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

$this setSharedMaxAge(int $value)

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

int|null getTtl()

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

$this setTtl(int $seconds)

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

$this setClientTtl(int $seconds)

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

DateTimeInterface|null getLastModified()

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

$this setLastModified(DateTimeInterface $date = null)

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

string|null getEtag()

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

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

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

$this setCache(array $options)

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

$this setNotModified()

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

bool hasVary()

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

array getVary()

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

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

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

bool isNotModified(Request $request)

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

bool isInvalid()

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

bool isInformational()

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

bool isSuccessful()

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

bool isRedirection()

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

bool isClientError()

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

bool isServerError()

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

bool isOk()

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

bool isForbidden()

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

bool isNotFound()

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

bool isRedirect(string $location = null)

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

bool isEmpty()

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

static closeOutputBuffers(int $targetLevel, bool $flush)

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

ensureIEOverSSLCompatibility(Request $request)

Проверяет, нужно ли удалить Cache-Control для SSL-шифрованных загрузок при использовании IE < 9.

Details

__construct($content = '', int $status = 200, array $headers = array())

Параметры

$content
int $status
array $headers

Исключения

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

static Response create(mixed $content = '', int $status = 200, array $headers = array())

Метод-фабрика для цепочки вызовов.

Пример:

return Response::create($body, 200)
    ->setSharedMaxAge(300);

Параметры

mixed $content Содержание ответа, см. setContent()
int $status Код статуса ответа
array $headers Массив заголовков ответа

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

Response

string __toString()

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

Представление Response в виде строки совпадает со строкой, которая будет отправлена клиенту, только если метод prepare() был вызван ранее.

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

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

См. также

prepare()

__clone()

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

$this prepare(Request $request)

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

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

Параметры

Request $request

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

$this

$this sendHeaders()

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

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

$this

$this sendContent()

Отправляет содержимое для текущего веб-ответа.

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

$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

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

$this

string getProtocolVersion()

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

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

string

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

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

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

Параметры

int $code
$text

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

$this

Исключения

InvalidArgumentException При некорректном коде HTTP-статуса

int getStatusCode()

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

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

int

$this setCharset(string $charset)

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

Параметры

string $charset

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

$this

string|null getCharset()

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

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

string|null

bool isCacheable()

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

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

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

Обратите внимание, что RFC 7231 и RFC 7234, возможно, допускают более либеральную реализацию, например, «коды статусов, которые по умолчанию определены как кэшируемые […] могут быть повторно использованы кэшем с эвристическим временем истечения, если явно не указано иначе» (https://tools.ietf.org/html/rfc7231#section-6.1)

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

bool

bool isFresh()

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

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

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

bool

bool isValidateable()

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

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

bool

$this setPrivate()

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

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

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

$this

$this setPublic()

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

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

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

$this

$this setImmutable(bool $immutable = true)

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

Параметры

bool $immutable

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

$this

bool isImmutable()

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

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

bool

bool mustRevalidate()

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

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

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

bool

DateTimeInterface|null getDate()

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

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

DateTimeInterface|null

Исключения

RuntimeException При невозможности парсинга заголовка

$this setDate(DateTimeInterface $date)

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

Параметры

DateTimeInterface $date

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

$this

int getAge()

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

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

int

$this expire()

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

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

$this

DateTimeInterface|null getExpires()

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

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

DateTimeInterface|null

$this setExpires(DateTimeInterface $date = null)

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

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

Параметры

DateTimeInterface $date

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

$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, когда информация о свежести отсутствует в ответе.

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

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

int|null

$this setTtl(int $seconds)

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

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

Параметры

int $seconds

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

$this

$this setClientTtl(int $seconds)

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

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

Параметры

int $seconds

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

$this

DateTimeInterface|null getLastModified()

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

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

DateTimeInterface|null

Исключения

RuntimeException При неразборчивости заголовка HTTP

$this setLastModified(DateTimeInterface $date = null)

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

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

Параметры

DateTimeInterface $date

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

$this

string|null getEtag()

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

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

string|null

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

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

Параметры

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

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

$this

$this setCache(array $options)

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

Доступные параметры: etag, last_modified, max_age, s_maxage, private, public и immutable.

Параметры

array $options

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

$this

Исключения

InvalidArgumentException

$this setNotModified()

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

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

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

$this

См. также

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

bool hasVary()

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

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

bool

array getVary()

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

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

array

$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

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

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

protected ensureIEOverSSLCompatibility(Request $request)

Проверяет, нужно ли удалить Cache-Control для SSL-зашифрованных загрузок при использовании IE < 9.

Параметры

Request $request

См. также

http://support.microsoft.com/kb/323308

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/HttpFoundation/Response.html

Spec-Zone.ru

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