Spec-Zone.ru › Symfony 3.4

JsonResponse

class JsonResponse extends Response

Ответ представляет собой HTTP-ответ в формате JSON.

Обратите внимание, что этот класс не принуждает возвращаемое содержимое JSON быть объектом. Тем не менее, рекомендуется возвращать объект, так как это защищает вас от XSSI и JSON-JavaScript Hijacking.

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

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
DEFAULT_ENCODING_OPTIONS

Свойства

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

Методы

__construct(mixed $data = null, int $status = 200, array $headers = array(), bool $json = false)
static Response create(mixed $data = null, int $status = 200, array $headers = array())

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

string __toString()

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

from Response
__clone()

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

from Response
$this prepare(Request $request)

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

from Response
$this sendHeaders()

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

from Response
$this sendContent()

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

from Response
$this send()

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

from Response
$this setContent(mixed $content)

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

from Response
string getContent()

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

from Response
$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)

Устанавливает заголовок Expires HTTP с экземпляром 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.

из 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
static fromJsonString($data = null, $status = 200, $headers = array())

Упрощает создание JsonResponse из простого JSON.

$this setCallback(string|null $callback = null)

Устанавливает обратный вызов JSONP.

$this setJson(string $json)

Устанавливает строку с JSON-документом, который нужно отправить.

$this setData(mixed $data = array())

Устанавливает данные, которые нужно отправить в формате JSON.

int getEncodingOptions()

Возвращает параметры, используемые при кодировании данных в JSON.

$this setEncodingOptions(int $encodingOptions)

Устанавливает параметры, используемые при кодировании данных в JSON.

Details

__construct(mixed $data = null, int $status = 200, array $headers = array(), bool $json = false)

Параметры

mixed $data Данные ответа
int $status Код состояния ответа
array $headers Массив заголовков ответа
bool $json Если данные уже являются строкой JSON

static Response create(mixed $data = null, int $status = 200, array $headers = array())

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

Пример:

return JsonResponse::create($data, 200)
    ->setSharedMaxAge(300);

Параметры

mixed $data Данные ответа в формате JSON
int $status Код состояния ответа
array $headers Массив заголовков ответа

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

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

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

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

$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)

Устанавливает заголовок Expires HTTP с экземпляром 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 Время жизни в секундах

$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()

Возвращает буквальное значение заголовка 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 Выполнить сброс или очистку буферов

static fromJsonString($data = null, $status = 200, $headers = array())

Упрощает создание JsonResponse из необработанного JSON.

Параметры

$data
$status
$headers

$this setCallback(string|null $callback = null)

Устанавливает обратный вызов JSONP.

Параметры

string|null $callback Обратный вызов JSONP или null для отключения

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

$this

Исключения

InvalidArgumentException Если имя обратного вызова некорректно

$this setJson(string $json)

Устанавливает необработанную строку, содержащую JSON-документ, который будет отправлен.

Параметры

string $json

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

$this

Исключения

InvalidArgumentException

$this setData(mixed $data = array())

Устанавливает данные, которые будут отправлены как JSON.

Параметры

mixed $data

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

$this

Исключения

InvalidArgumentException

int getEncodingOptions()

Возвращает опции, используемые при кодировании данных в JSON.

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

int

$this setEncodingOptions(int $encodingOptions)

Устанавливает опции, используемые при кодировании данных в JSON.

Параметры

int $encodingOptions

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

$this

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

Spec-Zone.ru

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