JsonResponse
class JsonResponse extends Response
Response represents an HTTP response in JSON format.
Note that this class does not force the returned JSON content to be an object. It is however recommended that you do return an object as it protects yourself against XSSI and JSON-JavaScript Hijacking.
Constants
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 |
|
Properties
ResponseHeaderBag | $headers | from Response | |
static array | $statusTexts | Status codes translation table. | from Response |
Methods
Constructor.
Factory method for chainability.
Sets the HTTP protocol version (1.0 or 1.1).
Returns true if the response is worth caching under any circumstance.
Returns true if the response includes headers that can be used to validate the response with the origin server using a conditional GET request.
Marks the response stale by setting the Age header to be equal to the maximum age of the response.
Returns the value of the Expires header as a DateTime instance.
Returns the number of seconds after the time specified in the response's Date header when the response should no longer be considered fresh.
Sets the number of seconds after which the response should no longer be considered fresh.
Sets the number of seconds after which the response should no longer be considered fresh by shared caches.
Sets the response's time-to-live for private/client caches.
Returns the Last-Modified HTTP header as a DateTime instance.
Sets the response's cache headers (validation and/or expiration).
Modifies the response so that it conforms to the rules defined for a 304 status code.
Determines if the Response validators (ETag, Last-Modified) match a conditional value specified in the Request.
Cleans or flushes output buffers up to target level.
Sets the JSONP callback.
Sets the data to be sent as JSON.
Returns options used while encoding data to JSON.
Sets options used while encoding data to JSON.
Details
at line line 41
__construct(mixed $data = null, int $status = 200, array $headers = array())
Constructor.
at line line 55
static Response
create($data = null, int $status = 200, array $headers = array())
Factory method for chainability.
Example:
return Response::create($body, 200)
->setSharedMaxAge(300);
in Response at line line 232
string
__toString()
Returns the Response as an HTTP string.
The string representation of the Response is the same as the one that will be sent to the client only if the prepare() method has been called before.
in Response at line line 243
__clone()
Clones the current Response instance.
in Response at line line 259
Response
prepare(Request $request)
Prepares the Response before it is sent to the client.
This method tweaks the Response to ensure that it is compliant with RFC 2616. Most of the changes are based on the Request that is "associated" with this Response.
in Response at line line 392
Response
setContent(mixed $content)
Sets the response content.
Valid types are strings, numbers, null, and objects that implement a __toString() method.
in Response at line line 408
string
getContent()
Gets the current response content.
in Response at line line 420
Response
setProtocolVersion(string $version)
Sets the HTTP protocol version (1.0 or 1.1).
in Response at line line 432
string
getProtocolVersion()
Gets the HTTP protocol version.
in Response at line line 450
Response
setStatusCode(int $code, mixed $text = null)
Sets the response status code.
in Response at line line 479
int
getStatusCode()
Retrieves the status code for the current web response.
in Response at line line 503
string
getCharset()
Retrieves the response charset.
in Response at line line 519
bool
isCacheable()
Returns true if the response is worth caching under any circumstance.
Responses marked "private" with an explicit Cache-Control directive are considered uncacheable.
Responses with neither a freshness lifetime (Expires, max-age) nor cache validator (Last-Modified, ETag) are considered uncacheable.
in Response at line line 541
bool
isFresh()
Returns true if the response is "fresh".
Fresh responses may be served from cache without any interaction with the origin. A response is considered fresh when it includes a Cache-Control/max-age indicator or Expires header and the calculated age is less than the freshness lifetime.
in Response at line line 552
bool
isValidateable()
Returns true if the response includes headers that can be used to validate the response with the origin server using a conditional GET request.
in Response at line line 564
Response
setPrivate()
Marks the response as "private".
It makes the response ineligible for serving other clients.
in Response at line line 579
Response
setPublic()
Marks the response as "public".
It makes the response eligible for serving other clients.
in Response at line line 597
bool
mustRevalidate()
Returns true if the response must be revalidated by caches.
This method indicates that the response must not be served stale by a cache in any circumstance without first revalidating with the origin. When present, the TTL of the response should not be overridden to be greater than the value provided by the origin.
in Response at line line 638
int
getAge()
Returns the age of the response.
in Response at line line 652
Response
expire()
Marks the response stale by setting the Age header to be equal to the maximum age of the response.
in Response at line line 666
DateTime|null
getExpires()
Returns the value of the Expires header as a DateTime instance.
in Response at line line 685
Response
setExpires(DateTime $date = null)
Sets the Expires HTTP header with a DateTime instance.
Passing null as value will remove the header.
in Response at line line 707
int|null
getMaxAge()
Returns the number of seconds after the time specified in the response's Date header when the response should no longer be considered fresh.
First, it checks for a s-maxage directive, then a max-age directive, and then it falls back on an expires header. It returns null when no maximum age can be established.
in Response at line line 731
Response
setMaxAge(int $value)
Sets the number of seconds after which the response should no longer be considered fresh.
This methods sets the Cache-Control max-age directive.
in Response at line line 747
Response
setSharedMaxAge(int $value)
Sets the number of seconds after which the response should no longer be considered fresh by shared caches.
This methods sets the Cache-Control s-maxage directive.
in Response at line line 765
int|null
getTtl()
Returns the response's time-to-live in seconds.
It returns null when no freshness information is present in the response.
When the responses TTL is <= 0, the response may not be served from cache without first revalidating with the origin.
in Response at line line 781
Response
setTtl(int $seconds)
Sets the response's time-to-live for shared caches.
This method adjusts the Cache-Control/s-maxage directive.
in Response at line line 797
Response
setClientTtl(int $seconds)
Sets the response's time-to-live for private/client caches.
This method adjusts the Cache-Control/max-age directive.
in Response at line line 811
DateTime|null
getLastModified()
Returns the Last-Modified HTTP header as a DateTime instance.
in Response at line line 825
Response
setLastModified(DateTime $date = null)
Sets the Last-Modified HTTP header with a DateTime instance.
Passing null as value will remove the header.
in Response at line line 843
string|null
getEtag()
Returns the literal value of the ETag HTTP header.
in Response at line line 856
Response
setEtag(string|null $etag = null, bool $weak = false)
Sets the ETag value.
in Response at line line 882
Response
setCache(array $options)
Sets the response's cache headers (validation and/or expiration).
Available options are: etag, lastmodified, maxage, s_maxage, private, and public.
in Response at line line 933
Response
setNotModified()
Modifies the response so that it conforms to the rules defined for a 304 status code.
This sets the status, removes the body, and discards any headers that MUST NOT be included in 304 responses.
in Response at line line 951
bool
hasVary()
Returns true if the response includes a Vary header.
in Response at line line 961
array
getVary()
Returns an array of header names given in the Vary header.
in Response at line line 983
Response
setVary(string|array $headers, bool $replace = true)
Sets the Vary header.
in Response at line line 1001
bool
isNotModified(Request $request)
Determines if the Response validators (ETag, Last-Modified) match a conditional value specified in the Request.
If the Response is not modified, it sets the status code to 304 and removes the actual content by calling the setNotModified() method.
in Response at line line 1032
bool
isInvalid()
Is response invalid?
in Response at line line 1042
bool
isInformational()
Is response informative?
in Response at line line 1052
bool
isSuccessful()
Is response successful?
in Response at line line 1062
bool
isRedirection()
Is the response a redirect?
in Response at line line 1072
bool
isClientError()
Is there a client error?
in Response at line line 1082
bool
isServerError()
Was there a server side error?
in Response at line line 1092
bool
isOk()
Is the response OK?
in Response at line line 1102
bool
isForbidden()
Is the response forbidden?
in Response at line line 1112
bool
isNotFound()
Is the response a not found error?
in Response at line line 1124
bool
isRedirect(string $location = null)
Is the response a redirect of some form?
in Response at line line 1134
bool
isEmpty()
Is the response empty?
in Response at line line 1147
static
closeOutputBuffers(int $targetLevel, bool $flush)
Cleans or flushes output buffers up to target level.
Resulting level can be greater than target level if a non-removable buffer has been encountered.
at line line 69
JsonResponse
setCallback(string|null $callback = null)
Sets the JSONP callback.
at line line 96
JsonResponse
setData(mixed $data = array())
Sets the data to be sent as JSON.
at line line 131
int
getEncodingOptions()
Returns options used while encoding data to JSON.
at line line 143
JsonResponse
setEncodingOptions(int $encodingOptions)
Sets options used while encoding data to JSON.