PHP 클래스 Cake\Network\Response

By default controllers will use this class to render their response. If you are going to use a custom response class it should subclass this object in order to ensure compatibility.
파일 보기 프로젝트 열기: cakephp/cakephp 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$_body string | callable Buffer string or callable for response message
$_cacheDirectives array Holds all the cache directives that will be converted into headers when sending the request
$_charset string The charset the response body is encoded with
$_contentType string Content type to send. This can be an 'extension' that will be transformed using the $_mimetypes array or a complete mime-type
$_cookies array Holds cookies to be sent to the client
$_file Cake\Filesystem\File File object for file to be read out as response
$_fileRange array File range. Used for requesting ranges of files.
$_headers array Buffer list of headers
$_mimeTypes array Holds type key to mime type mappings for known mime types.
$_protocol string Protocol header to send to the client
$_status integer Status code to send to the client
$_statusCodes array Holds HTTP response statuses

공개 메소드들

메소드 설명
__construct ( array $options = [] ) Constructor
__debugInfo ( ) : array Returns an array that can be used to describe the internal state of this object.
__toString ( ) : string String conversion. Fetches the response body as a string.
body ( string | callable | null $content = null ) : string Buffers the response message to be sent if $content is null the current buffer is returned
cache ( string $since, string $time = '+1 day' ) : void Sets the correct headers to instruct the client to cache the response.
charset ( string | null $charset = null ) : string Sets the response charset if $charset is null the current charset is returned
checkNotModified ( Cake\Network\Request $request ) : boolean Checks whether a response has not been modified according to the 'If-None-Match' (Etags) and 'If-Modified-Since' (last modification date) request headers. If the response is detected to be not modified, it is marked as so accordingly so the client can be informed of that.
compress ( ) : boolean Sets the correct output buffering handler to send a compressed response. Responses will be compressed with zlib, if the extension is available.
cookie ( array | null $options = null ) : mixed Getter/Setter for cookie configs
cors ( Cake\Network\Request $request, string | array $allowedDomains = [], string | array $allowedMethods = [], string | array $allowedHeaders = [] ) : Cake\Network\CorsBuilder Setup access for origin and methods on cross origin requests
disableCache ( ) : void Sets the correct headers to instruct the client to not cache the response
download ( string $filename ) : void Sets the correct headers to instruct the browser to download the response as a file.
etag ( string | null $hash = null, boolean $weak = false ) : string | null Sets the response Etag, Etags are a strong indicative that a response can be cached by a HTTP client. A bad way of generating Etags is creating a hash of the response output, instead generate a unique hash of the unique components that identifies a request, such as a modification time, a resource Id, and anything else you consider it makes it unique.
expires ( string | DateTime | null $time = null ) : string | null Sets the Expires header for the response by taking an expiration time If called with no parameters it will return the current Expires value
file ( string $path, array $options = [] ) : void Setup for display or download the given file.
getFile ( ) : Cake\Filesystem\File | null Get the current file if one exists.
getMimeType ( string $alias ) : mixed Returns the mime type definition for an alias
header ( string | array | null $header = null, string | array | null $value = null ) : array Buffers a header string to be sent Returns the complete list of buffered headers
httpCodes ( integer | array | null $code = null ) : mixed Queries & sets valid HTTP response codes & messages.
length ( integer | null $bytes = null ) : integer | null Sets the Content-Length header for the response If called with no arguments returns the last Content-Length set
location ( null | string $url = null ) : string | null Accessor for the location header.
mapType ( string | array $ctype ) : string | array | null Maps a content-type back to an alias
maxAge ( integer | null $seconds = null ) : integer | null Sets the Cache-Control max-age directive.
modified ( string | DateTime | null $time = null ) : string | null Sets the Last-Modified header for the response by taking a modification time If called with no parameters it will return the current Last-Modified value
mustRevalidate ( boolean | null $enable = null ) : boolean Sets the Cache-Control must-revalidate directive.
notModified ( ) : void Sets the response as Not Modified by removing any body contents setting the status code to "304 Not Modified" and removing all conflicting headers
outputCompressed ( ) : boolean Returns whether the resulting output will be compressed by PHP
protocol ( string | null $protocol = null ) : string Sets the protocol to be used when sending the response. Defaults to HTTP/1.1 If called with no arguments, it will return the current configured protocol
send ( ) : void Sends the complete response to the client including headers and message body.
sendHeaders ( ) : void Sends the HTTP headers and cookies.
sharable ( boolean | null $public = null, integer | null $time = null ) : boolean | null Sets whether a response is eligible to be cached by intermediate proxies This method controls the public or private directive in the Cache-Control header
sharedMaxAge ( integer | null $seconds = null ) : integer | null Sets the Cache-Control s-maxage directive.
statusCode ( integer | null $code = null ) : integer Sets the HTTP status code to be sent if $code is null the current code is returned
stop ( integer | string $status ) : void Stop execution of the current script. Wraps exit() making testing easier.
type ( string | null $contentType = null ) : mixed Sets the response content type. It can be either a file extension which will be mapped internally to a mime-type or a string representing a mime-type if $contentType is null the current content type is returned if $contentType is an associative array, content type definitions will be stored/replaced
vary ( string | array | null $cacheVariances = null ) : array | null Sets the Vary header for the response, if an array is passed, values will be imploded into a comma separated string. If no parameters are passed, then an array with the current Vary header value is returned

보호된 메소드들

메소드 설명
_clearBuffer ( ) : boolean Clears the contents of the topmost output buffer and discards them
_fileRange ( Cake\Filesystem\File $file, string $httpRange ) : void Apply a file range to a file and set the end offset.
_flushBuffer ( ) : void Flushes the contents of the output buffer
_getUTCDate ( string | integer | DateTime | null $time = null ) : DateTime Returns a DateTime object initialized at the $time param and using UTC as timezone
_isActive ( ) : boolean Returns true if connection is still active
_sendContent ( string | callable $content ) : void Sends a content string to the client.
_sendFile ( Cake\Filesystem\File $file, array $range ) : boolean Reads out a file, and echos the content to the client.
_sendHeader ( string $name, string | null $value = null ) : void Sends a header to the client.
_setCacheControl ( ) : void Helper method to generate a valid Cache-Control header from the options set in other methods
_setContent ( ) : void Sets the response body to an empty text if the status code is 204 or 304
_setContentType ( ) : void Formats the Content-Type header based on the configured contentType and charset the charset will only be set in the header if the response is of type text/*
_setCookies ( ) : void Sets the cookies that have been added via Cake\Network\Response::cookie() before any other output is sent to the client. Will set the cookies in the order they have been set.

메소드 상세

__construct() 공개 메소드

Constructor
public __construct ( array $options = [] )
$options array list of parameters to setup the response. Possible values are: - body: the response text that should be sent to the client - statusCodes: additional allowable response codes - status: the HTTP status code to respond with - type: a complete mime-type string or an extension mapped in this class - charset: the charset for the response body

__debugInfo() 공개 메소드

Returns an array that can be used to describe the internal state of this object.
public __debugInfo ( ) : array
리턴 array

__toString() 공개 메소드

Does *not* send headers. If body is a callable, a blank string is returned.
public __toString ( ) : string
리턴 string

_clearBuffer() 보호된 메소드

Clears the contents of the topmost output buffer and discards them
사용 중단: 3.2.4 This function is not needed anymore
protected _clearBuffer ( ) : boolean
리턴 boolean

_fileRange() 보호된 메소드

If an invalid range is requested a 416 Status code will be used in the response.
protected _fileRange ( Cake\Filesystem\File $file, string $httpRange ) : void
$file Cake\Filesystem\File The file to set a range on.
$httpRange string The range to use.
리턴 void

_flushBuffer() 보호된 메소드

Flushes the contents of the output buffer
사용 중단: 3.2.4 This function is not needed anymore
protected _flushBuffer ( ) : void
리턴 void

_getUTCDate() 보호된 메소드

Returns a DateTime object initialized at the $time param and using UTC as timezone
protected _getUTCDate ( string | integer | DateTime | null $time = null ) : DateTime
$time string | integer | DateTime | null Valid time string or \DateTime instance.
리턴 DateTime

_isActive() 보호된 메소드

Returns true if connection is still active
protected _isActive ( ) : boolean
리턴 boolean

_sendContent() 보호된 메소드

If the content is a callable, it is invoked. The callable should either return a string or output content directly and have no return value.
protected _sendContent ( string | callable $content ) : void
$content string | callable String to send as response body or callable which returns/outputs content.
리턴 void

_sendFile() 보호된 메소드

Reads out a file, and echos the content to the client.
protected _sendFile ( Cake\Filesystem\File $file, array $range ) : boolean
$file Cake\Filesystem\File File object
$range array The range to read out of the file.
리턴 boolean True is whole file is echoed successfully or false if client connection is lost in between

_sendHeader() 보호된 메소드

Sends a header to the client.
protected _sendHeader ( string $name, string | null $value = null ) : void
$name string the header name
$value string | null the header value
리턴 void

_setCacheControl() 보호된 메소드

Helper method to generate a valid Cache-Control header from the options set in other methods
protected _setCacheControl ( ) : void
리턴 void

_setContent() 보호된 메소드

Sets the response body to an empty text if the status code is 204 or 304
protected _setContent ( ) : void
리턴 void

_setContentType() 보호된 메소드

Formats the Content-Type header based on the configured contentType and charset the charset will only be set in the header if the response is of type text/*
protected _setContentType ( ) : void
리턴 void

_setCookies() 보호된 메소드

Sets the cookies that have been added via Cake\Network\Response::cookie() before any other output is sent to the client. Will set the cookies in the order they have been set.
protected _setCookies ( ) : void
리턴 void

body() 공개 메소드

Buffers the response message to be sent if $content is null the current buffer is returned
public body ( string | callable | null $content = null ) : string
$content string | callable | null the string or callable message to be sent
리턴 string Current message buffer if $content param is passed as null

cache() 공개 메소드

Sets the correct headers to instruct the client to cache the response.
public cache ( string $since, string $time = '+1 day' ) : void
$since string a valid time since the response text has not been modified
$time string a valid time for cache expiry
리턴 void

charset() 공개 메소드

Sets the response charset if $charset is null the current charset is returned
public charset ( string | null $charset = null ) : string
$charset string | null Character set string.
리턴 string Current charset

checkNotModified() 공개 메소드

In order to mark a response as not modified, you need to set at least the Last-Modified etag response header before calling this method. Otherwise a comparison will not be possible.
public checkNotModified ( Cake\Network\Request $request ) : boolean
$request Cake\Network\Request Request object
리턴 boolean Whether the response was marked as not modified or not.

compress() 공개 메소드

Sets the correct output buffering handler to send a compressed response. Responses will be compressed with zlib, if the extension is available.
public compress ( ) : boolean
리턴 boolean false if client does not accept compressed responses or no handler is available, true otherwise

cors() 공개 메소드

This method allow multiple ways to setup the domains, see the examples ### Full URI cors($request, 'http://www.cakephp.org'); ### URI with wildcard cors($request, 'http://*.cakephp.org'); ### Ignoring the requested protocol cors($request, 'www.cakephp.org'); ### Any URI cors($request, '*'); ### Whitelist of URIs cors($request, ['http://www.cakephp.org', '*.google.com', 'https://myproject.github.io']); *Note* The $allowedDomains, $allowedMethods, $allowedHeaders parameters are deprecated. Instead the builder object should be used.
public cors ( Cake\Network\Request $request, string | array $allowedDomains = [], string | array $allowedMethods = [], string | array $allowedHeaders = [] ) : Cake\Network\CorsBuilder
$request Cake\Network\Request Request object
$allowedDomains string | array List of allowed domains, see method description for more details
$allowedMethods string | array List of HTTP verbs allowed
$allowedHeaders string | array List of HTTP headers allowed
리턴 Cake\Network\CorsBuilder A builder object the provides a fluent interface for defining additional CORS headers.

disableCache() 공개 메소드

Sets the correct headers to instruct the client to not cache the response
public disableCache ( ) : void
리턴 void

download() 공개 메소드

Sets the correct headers to instruct the browser to download the response as a file.
public download ( string $filename ) : void
$filename string The name of the file as the browser will download the response
리턴 void

etag() 공개 메소드

Second parameter is used to instruct clients that the content has changed, but semantically, it can be used as the same thing. Think for instance of a page with a hit counter, two different page views are equivalent, but they differ by a few bytes. This leaves off to the Client the decision of using or not the cached page. If no parameters are passed, current Etag header is returned.
public etag ( string | null $hash = null, boolean $weak = false ) : string | null
$hash string | null The unique hash that identifies this response
$weak boolean Whether the response is semantically the same as other with the same hash or not
리턴 string | null

expires() 공개 메소드

### Examples: $response->expires('now') Will Expire the response cache now $response->expires(new DateTime('+1 day')) Will set the expiration in next 24 hours $response->expires() Will return the current expiration header value
public expires ( string | DateTime | null $time = null ) : string | null
$time string | DateTime | null Valid time string or \DateTime instance.
리턴 string | null

file() 공개 메소드

If $_SERVER['HTTP_RANGE'] is set a slice of the file will be returned instead of the entire file. ### Options keys - name: Alternate download name - download: If true sets download header and forces file to be downloaded rather than displayed in browser
public file ( string $path, array $options = [] ) : void
$path string Path to file. If the path is not an absolute path that resolves to a file, `APP` will be prepended to the path.
$options array Options See above.
리턴 void

getFile() 공개 메소드

Get the current file if one exists.
public getFile ( ) : Cake\Filesystem\File | null
리턴 Cake\Filesystem\File | null The file to use in the response or null

getMimeType() 공개 메소드

e.g getMimeType('pdf'); // returns 'application/pdf'
public getMimeType ( string $alias ) : mixed
$alias string the content type alias to map
리턴 mixed String mapped mime type or false if $alias is not mapped

header() 공개 메소드

### Single header header('Location', 'http://example.com'); ### Multiple headers header(['Location' => 'http://example.com', 'X-Extra' => 'My header']); ### String header header('WWW-Authenticate: Negotiate'); ### Array of string headers header(['WWW-Authenticate: Negotiate', 'Content-type: application/pdf']); Multiple calls for setting the same header name will have the same effect as setting the header once with the last value sent for it header('WWW-Authenticate: Negotiate'); header('WWW-Authenticate: Not-Negotiate'); will have the same effect as only doing header('WWW-Authenticate: Not-Negotiate');
public header ( string | array | null $header = null, string | array | null $value = null ) : array
$header string | array | null An array of header strings or a single header string - an associative array of "header name" => "header value" is also accepted - an array of string headers is also accepted
$value string | array | null The header value(s)
리턴 array List of headers to be sent

httpCodes() 공개 메소드

Queries & sets valid HTTP response codes & messages.
public httpCodes ( integer | array | null $code = null ) : mixed
$code integer | array | null If $code is an integer, then the corresponding code/message is returned if it exists, null if it does not exist. If $code is an array, then the keys are used as codes and the values as messages to add to the default HTTP codes. The codes must be integers greater than 99 and less than 1000. Keep in mind that the HTTP specification outlines that status codes begin with a digit between 1 and 5, which defines the class of response the client is to expect. Example: httpCodes(404); // returns [404 => 'Not Found'] httpCodes([ 381 => 'Unicorn Moved', 555 => 'Unexpected Minotaur' ]); // sets these new values, and returns true httpCodes([ 0 => 'Nothing Here', -1 => 'Reverse Infinity', 12345 => 'Universal Password', 'Hello' => 'World' ]); // throws an exception due to invalid codes For more on HTTP status codes see: http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1
리턴 mixed Associative array of the HTTP codes as keys, and the message strings as values, or null of the given $code does not exist.

length() 공개 메소드

Sets the Content-Length header for the response If called with no arguments returns the last Content-Length set
public length ( integer | null $bytes = null ) : integer | null
$bytes integer | null Number of bytes
리턴 integer | null

location() 공개 메소드

Get/Set the Location header value.
public location ( null | string $url = null ) : string | null
$url null | string Either null to get the current location, or a string to set one.
리턴 string | null When setting the location null will be returned. When reading the location a string of the current location header value (if any) will be returned.

mapType() 공개 메소드

e.g mapType('application/pdf'); // returns 'pdf'
public mapType ( string | array $ctype ) : string | array | null
$ctype string | array Either a string content type to map, or an array of types.
리턴 string | array | null Aliases for the types provided.

maxAge() 공개 메소드

The max-age is the number of seconds after which the response should no longer be considered a good candidate to be fetched from the local (client) cache. If called with no parameters, this function will return the current max-age value if any
public maxAge ( integer | null $seconds = null ) : integer | null
$seconds integer | null if null, the method will return the current max-age value
리턴 integer | null

modified() 공개 메소드

### Examples: $response->modified('now') Will set the Last-Modified to the current time $response->modified(new DateTime('+1 day')) Will set the modification date in the past 24 hours $response->modified() Will return the current Last-Modified header value
public modified ( string | DateTime | null $time = null ) : string | null
$time string | DateTime | null Valid time string or \DateTime instance.
리턴 string | null

mustRevalidate() 공개 메소드

must-revalidate indicates that the response should not be served stale by a cache under any circumstance without first revalidating with the origin. If called with no parameters, this function will return whether must-revalidate is present.
public mustRevalidate ( boolean | null $enable = null ) : boolean
$enable boolean | null if null, the method will return the current must-revalidate value. If boolean sets or unsets the directive.
리턴 boolean

notModified() 공개 메소드

Sets the response as Not Modified by removing any body contents setting the status code to "304 Not Modified" and removing all conflicting headers
public notModified ( ) : void
리턴 void

outputCompressed() 공개 메소드

Returns whether the resulting output will be compressed by PHP
public outputCompressed ( ) : boolean
리턴 boolean

protocol() 공개 메소드

Sets the protocol to be used when sending the response. Defaults to HTTP/1.1 If called with no arguments, it will return the current configured protocol
public protocol ( string | null $protocol = null ) : string
$protocol string | null Protocol to be used for sending response.
리턴 string Protocol currently set

send() 공개 메소드

Will echo out the content in the response body.
public send ( ) : void
리턴 void

sendHeaders() 공개 메소드

Sends the HTTP headers and cookies.
public sendHeaders ( ) : void
리턴 void

sharable() 공개 메소드

Sets whether a response is eligible to be cached by intermediate proxies This method controls the public or private directive in the Cache-Control header
public sharable ( boolean | null $public = null, integer | null $time = null ) : boolean | null
$public boolean | null If set to true, the Cache-Control header will be set as public if set to false, the response will be set to private if no value is provided, it will return whether the response is sharable or not
$time integer | null time in seconds after which the response should no longer be considered fresh
리턴 boolean | null

sharedMaxAge() 공개 메소드

The max-age is the number of seconds after which the response should no longer be considered a good candidate to be fetched from a shared cache (like in a proxy server). If called with no parameters, this function will return the current max-age value if any
public sharedMaxAge ( integer | null $seconds = null ) : integer | null
$seconds integer | null if null, the method will return the current s-maxage value
리턴 integer | null

statusCode() 공개 메소드

Sets the HTTP status code to be sent if $code is null the current code is returned
public statusCode ( integer | null $code = null ) : integer
$code integer | null the HTTP status code
리턴 integer Current status code

stop() 공개 메소드

Stop execution of the current script. Wraps exit() making testing easier.
public stop ( integer | string $status ) : void
$status integer | string See http://php.net/exit for values
리턴 void

type() 공개 메소드

### Setting the content type type('jpg'); ### Returning the current content type type(); ### Storing content type definitions type(['keynote' => 'application/keynote', 'bat' => 'application/bat']); ### Replacing a content type definition type(['jpg' => 'text/plain']);
public type ( string | null $contentType = null ) : mixed
$contentType string | null Content type key.
리턴 mixed Current content type or false if supplied an invalid content type

vary() 공개 메소드

Sets the Vary header for the response, if an array is passed, values will be imploded into a comma separated string. If no parameters are passed, then an array with the current Vary header value is returned
public vary ( string | array | null $cacheVariances = null ) : array | null
$cacheVariances string | array | null A single Vary string or an array containing the list for variances.
리턴 array | null

프로퍼티 상세

$_body 보호되어 있는 프로퍼티

Buffer string or callable for response message
protected string|callable $_body
리턴 string | callable

$_cacheDirectives 보호되어 있는 프로퍼티

Holds all the cache directives that will be converted into headers when sending the request
protected array $_cacheDirectives
리턴 array

$_charset 보호되어 있는 프로퍼티

The charset the response body is encoded with
protected string $_charset
리턴 string

$_contentType 보호되어 있는 프로퍼티

Content type to send. This can be an 'extension' that will be transformed using the $_mimetypes array or a complete mime-type
protected string $_contentType
리턴 string

$_cookies 보호되어 있는 프로퍼티

Holds cookies to be sent to the client
protected array $_cookies
리턴 array

$_file 보호되어 있는 프로퍼티

File object for file to be read out as response
protected File,Cake\Filesystem $_file
리턴 Cake\Filesystem\File

$_fileRange 보호되어 있는 프로퍼티

File range. Used for requesting ranges of files.
protected array $_fileRange
리턴 array

$_headers 보호되어 있는 프로퍼티

Buffer list of headers
protected array $_headers
리턴 array

$_mimeTypes 보호되어 있는 프로퍼티

Holds type key to mime type mappings for known mime types.
protected array $_mimeTypes
리턴 array

$_protocol 보호되어 있는 프로퍼티

Protocol header to send to the client
protected string $_protocol
리턴 string

$_status 보호되어 있는 프로퍼티

Status code to send to the client
protected int $_status
리턴 integer

$_statusCodes 보호되어 있는 프로퍼티

Holds HTTP response statuses
protected array $_statusCodes
리턴 array