CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (GitHub)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • Slack
    • Paid Support
CakePHP

C CakePHP 2.0 API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 2.0
      • 4.2
      • 4.1
      • 4.0
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Packages

  • Cake
    • Cache
      • Engine
    • Configure
    • Console
      • Command
        • Task
    • Controller
      • Component
        • Auth
    • Core
    • Error
    • I18n
    • Log
      • Engine
    • Model
      • Behavior
      • Datasource
        • Database
        • Session
    • Network
      • Email
      • Http
    • Routing
      • Route
    • TestSuite
      • Coverage
      • Fixture
      • Reporter
    • Utility
    • View
      • Helper

Classes

  • CakeRequest
  • CakeResponse
  • CakeSocket

Class CakeResponse

CakeResponse is responsible for managing the response text, status and headers of a HTTP 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.

Package: Cake\Network
Copyright: Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: Cake/Network/CakeResponse.php

Properties summary

  • $_body protected
    string
    Buffer string for response message
  • $_charset protected
    string
    The charset the response body is encoded with
  • $_contentType protected
    integer

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

  • $_headers protected
    array
    Buffer list of headers
  • $_mimeTypes protected
    array
    Holds known mime type mappings
  • $_protocol protected
    string
    Protocol header to send to the client
  • $_status protected
    integer
    Status code to send to the client
  • $_statusCodes protected
    array
    Holds HTTP response statuses

Method Summary

  • __construct() public
    Class constructor
  • __toString() public

    String conversion. Fetches the response body as a string. Does not send headers.

  • _sendContent() protected
    Sends a content string to the client.
  • _sendHeader() protected
    Sends a header to the client.
  • _setContentLength() protected

    Calculates the correct Content-Length and sets it as a header in the response Will not set the value if already set or if the output is compressed.

  • body() public

    Buffers the response message to be sent if $content is null the current buffer is returned

  • cache() public
    Sets the correct headers to instruct the client to cache the response.
  • charset() public

    Sets the response charset if $charset is null the current charset is returned

  • compress() public

    Sets the correct output buffering handler to send a compressed response. Responses will be compressed with zlib, if the extension is available.

  • disableCache() public
    Sets the correct headers to instruct the client to not cache the response
  • download() public
    Sets the correct headers to instruct the browser to download the response as a file.
  • getMimeType() public
    Returns the mime type definition for an alias
  • header() public

    Buffers a header string to be sent Returns the complete list of buffered headers

  • httpCodes() public
    Queries & sets valid HTTP response codes & messages.
  • mapType() public
    Maps a content-type back to an alias
  • outputCompressed() public
    Returns whether the resulting output will be compressed by PHP
  • send() public

    Sends the complete response to the client including headers and message body. Will echo out the content in the response body.

  • statusCode() public

    Sets the HTTP status code to be sent if $code is null the current code is returned

  • type() public

    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, it will be stored as a content type definition

Method Detail

__construct() public ¶

__construct( array $options = array() )

Class constructor

Parameters
array $options optional array()

list of parameters to setup the response. Possible values are: - body: the response text that should be sent to the client - 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

__toString() public ¶

__toString( )

String conversion. Fetches the response body as a string. Does not send headers.

Returns
string

_sendContent() protected ¶

_sendContent( string $content )

Sends a content string to the client.

Parameters
string $content
string to send as response body

_sendHeader() protected ¶

_sendHeader( string $name , string $value = null )

Sends a header to the client.

Parameters
string $name
the header name
string $value optional null
the header value

_setContentLength() protected ¶

_setContentLength( )

Calculates the correct Content-Length and sets it as a header in the response Will not set the value if already set or if the output is compressed.

body() public ¶

body( string $content = null )

Buffers the response message to be sent if $content is null the current buffer is returned

Parameters
string $content optional null
the string message to be sent
Returns
string
current message buffer if $content param is passed as null

cache() public ¶

cache( string $since , string $time = '+1 day' )

Sets the correct headers to instruct the client to cache the response.

Parameters
string $since
a valid time since the response text has not been modified
string $time optional '+1 day'
a valid time for cache expiry

charset() public ¶

charset( string $charset = null )

Sets the response charset if $charset is null the current charset is returned

Parameters
string $charset optional null
Returns
string
current charset

compress() public ¶

compress( )

Sets the correct output buffering handler to send a compressed response. Responses will be compressed with zlib, if the extension is available.

Returns
boolean
false if client does not accept compressed responses or no handler is available, true otherwise

disableCache() public ¶

disableCache( )

Sets the correct headers to instruct the client to not cache the response

download() public ¶

download( string $filename )

Sets the correct headers to instruct the browser to download the response as a file.

Parameters
string $filename
the name of the file as the browser will download the response

getMimeType() public ¶

getMimeType( string $alias )

Returns the mime type definition for an alias

e.g getMimeType('pdf'); // returns 'application/pdf'

Parameters
string $alias
the content type alias to map
Returns
mixed
string mapped mime type or false if $alias is not mapped

header() public ¶

header( mixed $header = null , mixed $value = null )

Buffers a header string to be sent Returns the complete list of buffered headers

Single header

e.g header('Location', 'http://example.com');

Multiple headers

e.g header(array('Location' => 'http://example.com', 'X-Extra' => 'My header'));

String header

e.g header('WWW-Authenticate: Negotiate');

Array of string headers

e.g header(array('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 e.g header('WWW-Authenticate: Negotiate'); header('WWW-Authenticate: Not-Negotiate'); will have the same effect as only doing header('WWW-Authenticate: Not-Negotiate');

Parameters
mixed $header optional null

$header. 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

mixed $value optional null
$value. The header value.
Returns
array
list of headers to be sent

httpCodes() public ¶

httpCodes( mixed $code = null )

Queries & sets valid HTTP response codes & messages.

Parameters
mixed $code optional 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 'code' and 'message' keys of each nested array are added to the default HTTP codes. Example:

   httpCodes(404); // returns array(404 => 'Not Found')

   httpCodes(array(
       701 => 'Unicorn Moved',
       800 => 'Unexpected Minotaur'
   )); // sets these new values, and returns true
Returns
mixed

associative array of the HTTP codes as keys, and the message strings as values, or null of the given $code does not exist.


mapType() public ¶

mapType( mixed $ctype )

Maps a content-type back to an alias

e.g mapType('application/pdf'); // returns 'pdf'

Parameters
mixed $ctype
Either a string content type to map, or an array of types.
Returns
mixed
Aliases for the types provided.

outputCompressed() public ¶

outputCompressed( )

Returns whether the resulting output will be compressed by PHP

Returns
boolean

send() public ¶

send( )

Sends the complete response to the client including headers and message body. Will echo out the content in the response body.

statusCode() public ¶

statusCode( integer $code = null )

Sets the HTTP status code to be sent if $code is null the current code is returned

Parameters
integer $code optional null
Returns
integer
current status code
Throws
CakeException
When an unknown status code is reached.

type() public ¶

type( string $contentType = null )

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, it will be stored as a content type definition

Setting the content type

e.g type('jpg');

Returning the current content type

e.g type();

Storing a content type definition

e.g type(array('keynote' => 'application/keynote'));

Replacing a content type definition

e.g type(array('jpg' => 'text/plain'));

Parameters
string $contentType optional null
Returns
mixed
current content type or false if supplied an invalid content type

Properties detail

$_body ¶

protected string

Buffer string for response message

null

$_charset ¶

protected string

The charset the response body is encoded with

'UTF-8'

$_contentType ¶

protected integer

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

'text/html'

$_headers ¶

protected array

Buffer list of headers

array()

$_mimeTypes ¶

protected array

Holds known mime type mappings

array(
    'ai' => 'application/postscript',
    'bcpio' => 'application/x-bcpio',
    'bin' => 'application/octet-stream',
    'ccad' => 'application/clariscad',
    'cdf' => 'application/x-netcdf',
    'class' => 'application/octet-stream',
    'cpio' => 'application/x-cpio',
    'cpt' => 'application/mac-compactpro',
    'csh' => 'application/x-csh',
    'csv' =>  array('text/csv', 'application/vnd.ms-excel', 'text/plain'),
    'dcr' => 'application/x-director',
    'dir' => 'application/x-director',
    'dms' => 'application/octet-stream',
    'doc' => 'application/msword',
    'drw' => 'application/drafting',
    'dvi' => 'application/x-dvi',
    'dwg' => 'application/acad',
    'dxf' => 'application/dxf',
    'dxr' => 'application/x-director',
    'eot' => 'application/vnd.ms-fontobject',
    'eps' => 'application/postscript',
    'exe' => 'application/octet-stream',
    'ez' => 'application/andrew-inset',
    'flv' => 'video/x-flv',
    'gtar' => 'application/x-gtar',
    'gz' => 'application/x-gzip',
    'bz2' => 'application/x-bzip',
    '7z' => 'application/x-7z-compressed',
    'hdf' => 'application/x-hdf',
    'hqx' => 'application/mac-binhex40',
    'ico' => 'image/vnd.microsoft.icon',
    'ips' => 'application/x-ipscript',
    'ipx' => 'application/x-ipix',
    'js' => 'text/javascript',
    'latex' => 'application/x-latex',
    'lha' => 'application/octet-stream',
    'lsp' => 'application/x-lisp',
    'lzh' => 'application/octet-stream',
    'man' => 'application/x-troff-man',
    'me' => 'application/x-troff-me',
    'mif' => 'application/vnd.mif',
    'ms' => 'application/x-troff-ms',
    'nc' => 'application/x-netcdf',
    'oda' => 'application/oda',
    'otf' => 'font/otf',
    'pdf' => 'application/pdf',
    'pgn' => 'application/x-chess-pgn',
    'pot' => 'application/mspowerpoint',
    'pps' => 'application/mspowerpoint',
    'ppt' => 'application/mspowerpoint',
    'ppz' => 'application/mspowerpoint',
    'pre' => 'application/x-freelance',
    'prt' => 'application/pro_eng',
    'ps' => 'application/postscript',
    'roff' => 'application/x-troff',
    'scm' => 'application/x-lotusscreencam',
    'set' => 'application/set',
    'sh' => 'application/x-sh',
    'shar' => 'application/x-shar',
    'sit' => 'application/x-stuffit',
    'skd' => 'application/x-koan',
    'skm' => 'application/x-koan',
    'skp' => 'application/x-koan',
    'skt' => 'application/x-koan',
    'smi' => 'application/smil',
    'smil' => 'application/smil',
    'sol' => 'application/solids',
    'spl' => 'application/x-futuresplash',
    'src' => 'application/x-wais-source',
    'step' => 'application/STEP',
    'stl' => 'application/SLA',
    'stp' => 'application/STEP',
    'sv4cpio' => 'application/x-sv4cpio',
    'sv4crc' => 'application/x-sv4crc',
    'svg' => 'image/svg+xml',
    'svgz' => 'image/svg+xml',
    'swf' => 'application/x-shockwave-flash',
    't' => 'application/x-troff',
    'tar' => 'application/x-tar',
    'tcl' => 'application/x-tcl',
    'tex' => 'application/x-tex',
    'texi' => 'application/x-texinfo',
    'texinfo' => 'application/x-texinfo',
    'tr' => 'application/x-troff',
    'tsp' => 'application/dsptype',
    'ttf' => 'font/ttf',
    'unv' => 'application/i-deas',
    'ustar' => 'application/x-ustar',
    'vcd' => 'application/x-cdlink',
    'vda' => 'application/vda',
    'xlc' => 'application/vnd.ms-excel',
    'xll' => 'application/vnd.ms-excel',
    'xlm' => 'application/vnd.ms-excel',
    'xls' => 'application/vnd.ms-excel',
    'xlw' => 'application/vnd.ms-excel',
    'zip' => 'application/zip',
    'aif' => 'audio/x-aiff',
    'aifc' => 'audio/x-aiff',
    'aiff' => 'audio/x-aiff',
    'au' => 'audio/basic',
    'kar' => 'audio/midi',
    'mid' => 'audio/midi',
    'midi' => 'audio/midi',
    'mp2' => 'audio/mpeg',
    'mp3' => 'audio/mpeg',
    'mpga' => 'audio/mpeg',
    'ogg' => 'audio/ogg',
    'oga' => 'audio/ogg',
    'spx' => 'audio/ogg',
    'ra' => 'audio/x-realaudio',
    'ram' => 'audio/x-pn-realaudio',
    'rm' => 'audio/x-pn-realaudio',
    'rpm' => 'audio/x-pn-realaudio-plugin',
    'snd' => 'audio/basic',
    'tsi' => 'audio/TSP-audio',
    'wav' => 'audio/x-wav',
    'aac' => 'audio/aac',
    'asc' => 'text/plain',
    'c' => 'text/plain',
    'cc' => 'text/plain',
    'css' => 'text/css',
    'etx' => 'text/x-setext',
    'f' => 'text/plain',
    'f90' => 'text/plain',
    'h' => 'text/plain',
    'hh' => 'text/plain',
    'html' => array('text/html', '*/*'),
    'htm' => array('text/html', '*/*'),
    'm' => 'text/plain',
    'rtf' => 'text/rtf',
    'rtx' => 'text/richtext',
    'sgm' => 'text/sgml',
    'sgml' => 'text/sgml',
    'tsv' => 'text/tab-separated-values',
    'tpl' => 'text/template',
    'txt' => 'text/plain',
    'text' => 'text/plain',
    'xml' => array('application/xml', 'text/xml'),
    'avi' => 'video/x-msvideo',
    'fli' => 'video/x-fli',
    'mov' => 'video/quicktime',
    'movie' => 'video/x-sgi-movie',
    'mpe' => 'video/mpeg',
    'mpeg' => 'video/mpeg',
    'mpg' => 'video/mpeg',
    'qt' => 'video/quicktime',
    'viv' => 'video/vnd.vivo',
    'vivo' => 'video/vnd.vivo',
    'ogv' => 'video/ogg',
    'webm' => 'video/webm',
    'mp4' => 'video/mp4',
    'gif' => 'image/gif',
    'ief' => 'image/ief',
    'jpe' => 'image/jpeg',
    'jpeg' => 'image/jpeg',
    'jpg' => 'image/jpeg',
    'pbm' => 'image/x-portable-bitmap',
    'pgm' => 'image/x-portable-graymap',
    'png' => 'image/png',
    'pnm' => 'image/x-portable-anymap',
    'ppm' => 'image/x-portable-pixmap',
    'ras' => 'image/cmu-raster',
    'rgb' => 'image/x-rgb',
    'tif' => 'image/tiff',
    'tiff' => 'image/tiff',
    'xbm' => 'image/x-xbitmap',
    'xpm' => 'image/x-xpixmap',
    'xwd' => 'image/x-xwindowdump',
    'ice' => 'x-conference/x-cooltalk',
    'iges' => 'model/iges',
    'igs' => 'model/iges',
    'mesh' => 'model/mesh',
    'msh' => 'model/mesh',
    'silo' => 'model/mesh',
    'vrml' => 'model/vrml',
    'wrl' => 'model/vrml',
    'mime' => 'www/mime',
    'pdb' => 'chemical/x-pdb',
    'xyz' => 'chemical/x-pdb',
    'javascript' => 'text/javascript',
    'json' => 'application/json',
    'form' => 'application/x-www-form-urlencoded',
    'file' => 'multipart/form-data',
    'xhtml' => array('application/xhtml+xml', 'application/xhtml', 'text/xhtml'),
    'xhtml-mobile'  => 'application/vnd.wap.xhtml+xml',
    'rss' => 'application/rss+xml',
    'atom' => 'application/atom+xml',
    'amf' => 'application/x-amf',
    'wap' => array('text/vnd.wap.wml', 'text/vnd.wap.wmlscript', 'image/vnd.wap.wbmp'),
    'wml' => 'text/vnd.wap.wml',
    'wmlscript' => 'text/vnd.wap.wmlscript',
    'wbmp' => 'image/vnd.wap.wbmp',
)

$_protocol ¶

protected string

Protocol header to send to the client

'HTTP/1.1'

$_status ¶

protected integer

Status code to send to the client

200

$_statusCodes ¶

protected array

Holds HTTP response statuses

array(
    100 => 'Continue',
    101 => 'Switching Protocols',
    200 => 'OK',
    201 => 'Created',
    202 => 'Accepted',
    203 => 'Non-Authoritative Information',
    204 => 'No Content',
    205 => 'Reset Content',
    206 => 'Partial Content',
    300 => 'Multiple Choices',
    301 => 'Moved Permanently',
    302 => 'Found',
    303 => 'See Other',
    304 => 'Not Modified',
    305 => 'Use Proxy',
    307 => 'Temporary Redirect',
    400 => 'Bad Request',
    401 => 'Unauthorized',
    402 => 'Payment Required',
    403 => 'Forbidden',
    404 => 'Not Found',
    405 => 'Method Not Allowed',
    406 => 'Not Acceptable',
    407 => 'Proxy Authentication Required',
    408 => 'Request Time-out',
    409 => 'Conflict',
    410 => 'Gone',
    411 => 'Length Required',
    412 => 'Precondition Failed',
    413 => 'Request Entity Too Large',
    414 => 'Request-URI Too Large',
    415 => 'Unsupported Media Type',
    416 => 'Requested range not satisfiable',
    417 => 'Expectation Failed',
    500 => 'Internal Server Error',
    501 => 'Not Implemented',
    502 => 'Bad Gateway',
    503 => 'Service Unavailable',
    504 => 'Gateway Time-out'
)
OpenHub
Rackspace
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (GitHub)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • Slack
  • Paid Support

Generated using CakePHP API Docs