CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Team
    • Issues (Github)
    • YouTube Channel
    • Get Involved
    • Bakery
    • Featured Resources
    • Newsletter
    • Certification
    • My CakePHP
    • CakeFest
    • Facebook
    • Twitter
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.8 Red Velvet API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 3.8
      • 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

Namespaces

  • Cake
    • Auth
      • Storage
    • Cache
      • Engine
    • Collection
      • Iterator
    • Command
    • Console
      • Exception
    • Controller
      • Component
      • Exception
    • Core
      • Configure
        • Engine
      • Exception
      • Retry
    • Database
      • Driver
      • Exception
      • Expression
      • Schema
      • Statement
      • Type
    • Datasource
      • Exception
    • Error
      • Middleware
    • Event
      • Decorator
    • Filesystem
    • Form
    • Http
      • Client
        • Adapter
        • Auth
      • Cookie
      • Exception
      • Middleware
      • Session
    • I18n
      • Formatter
      • Middleware
      • Parser
    • Log
      • Engine
    • Mailer
      • Exception
      • Transport
    • Network
      • Exception
    • ORM
      • Association
      • Behavior
        • Translate
      • Exception
      • Locator
      • Rule
    • Routing
      • Exception
      • Filter
      • Middleware
      • Route
    • Shell
      • Helper
      • Task
    • TestSuite
      • Fixture
      • Stub
    • Utility
      • Exception
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget
  • None

Classes

  • ActionDispatcher
  • BaseApplication
  • Client
  • ControllerFactory
  • CorsBuilder
  • MiddlewareQueue
  • Response
  • ResponseEmitter
  • Runner
  • Server
  • ServerRequest
  • ServerRequestFactory
  • Session

Class ServerRequest

A class that helps wrap Request information and particulars about a single request. Provides methods commonly used to introspect on the request headers and request body.

Cake\Http\ServerRequest implements ArrayAccess, Psr\Http\Message\ServerRequestInterface
Namespace: Cake\Http
Location: Http/ServerRequest.php

Properties summary

  • $_detectorCache protected
    array
    Instance cache for results of is(something) calls
  • $_detectors protected static
    array
    The built in detectors used with is() can be modified with addDetector().
  • $_environment protected
    array
    Array of environment data.
  • $_input protected
    string
    Contents of php://input
  • $attributes protected
    array
    Store the additional attributes attached to the request.
  • $base protected
    string
    Base URL path.
  • $cookies protected
    array
    Array of cookie data.
  • $data protected
    array|object|null

    Array of POST data. Will contain form data as well as uploaded files. In PUT/PATCH/DELETE requests this property will contain the form-urlencoded data.

  • $emulatedAttributes protected
    array
    A list of propertes that emulated by the PSR7 attribute methods.
  • $here protected
    string
    The full address to the current request
  • $params protected
    array
    Array of parameters parsed from the URL.
  • $protocol protected
    string|null
    The HTTP protocol version used.
  • $query protected
    array
    Array of query string arguments
  • $requestTarget protected
    string|null
    The request target if overridden
  • $session protected
    Cake\Http\Session
    Instance of a Session object relative to this request
  • $stream protected
    Psr\Http\Message\StreamInterface
    Request body stream. Contains php://input unless input constructor option is used.
  • $trustProxy public
    boolean

    Whether or not to trust HTTP_X headers set by most load balancers. Only set to true if your application runs behind load balancers/proxies that you control.

  • $trustedProxies protected
    string[]
    Trusted proxies list
  • $uploadedFiles protected
    array
    Array of Psr\Http\Message\UploadedFileInterface objects.
  • $uri protected
    Psr\Http\Message\UriInterface
    Uri instance
  • $url protected
    string
    The URL string used for the request.
  • $webroot protected
    string
    webroot path segment for the request.

Method Summary

  • __call() public
    Missing method handler, handles wrapping older style isAjax() type methods
  • __construct() public
    Create a new request object.
  • __get() public deprecated
    Magic get method allows access to parsed routing parameters directly on the object.
  • __isset() public deprecated

    Magic isset method allows isset/empty checks on routing parameters.

  • __set() public deprecated
    Magic set method allows backward compatibility for former public properties
  • _acceptHeaderDetector() protected
    Detects if a specific accept header is present.
  • _createUploadedFile() protected
    Create an UploadedFile instance from a $_FILES array.
  • _environmentDetector() protected
    Detects if a specific environment variable is present.
  • _headerDetector() protected
    Detects if a specific header is present.
  • _is() protected
    Worker for the public is() function
  • _normalizeNestedFiles() protected
    Normalize an array of file specifications.
  • _paramDetector() protected
    Detects if a specific request parameter is present.
  • _parseAcceptWithQualifier() protected
    Parse Accept* headers with qualifier options.
  • _processFiles() protected
    Process uploaded files and move things onto the post data.
  • _processGet() protected
    Process the GET parameters and move things into the object.
  • _processPost() protected

    Sets the REQUEST_METHOD environment variable based on the simulated _method HTTP override value. The 'ORIGINAL_REQUEST_METHOD' is also preserved, if you want the read the non-simulated HTTP method the client used.

  • _readInput() protected
    Read data from php://input, mocked in tests.
  • _setConfig() protected
    Process the config/settings data into properties.
  • acceptLanguage() public
    Get the languages accepted by the client, or check if a specific language is accepted.
  • accepts() public

    Find out which content types the client accepts or check if they accept a particular type of content.

  • addDetector() public static

    Add a new detector to the list of detectors that a request can use. There are several different types of detectors that can be set.

  • addParams() public deprecated

    Add parameters to the request's parsed parameter set. This will overwrite any existing parameters. This modifies the parameters available through $request->getParam().

  • addPaths() public deprecated

    Add paths to the requests' paths vars. This will overwrite any existing paths. Provides an easy way to modify, here, webroot and base.

  • allowMethod() public

    Allow only certain HTTP request methods, if the request method does not match a 405 error will be shown and the required "Allow" response header will be set.

  • clearDetectorCache() public
    Clears the instance detector cache, used by the is() function
  • clientIp() public
    Get the IP the client is using, or says they are using.
  • contentType() public
    Get the content type used in this request.
  • cookie() public deprecated
    Read cookie data from the request's cookie data.
  • createFromGlobals() public static deprecated
    Wrapper method to create a new request from PHP superglobals.
  • data() public deprecated

    Provides a read/write accessor for $this->data. Allows you to use a Hash::get() compatible syntax for reading post data.

  • domain() public
    Get the domain name and include $tldLength segments of the tld.
  • env() public deprecated

    Get/Set value from the request's environment data. Fallback to using env() if key not set in $environment property.

  • getAttribute() public
    Read an attribute from the request, or get the default
  • getAttributes() public
    Get all the attributes in the request.
  • getBody() public
    Gets the body of the message.
  • getCookie() public
    Read cookie data from the request's cookie data.
  • getCookieCollection() public
    Get a cookie collection based on the request's cookies
  • getCookieParams() public
    Get all the cookie data from the request.
  • getData() public

    Provides a safe accessor for request data. Allows you to use Hash::get() compatible paths.

  • getEnv() public

    Get a value from the request's environment data. Fallback to using env() if the key is not set in the $environment property.

  • getHeader() public
    Get a single header from the request.
  • getHeaderLine() public
    Get a single header as a string from the request.
  • getHeaders() public
    Get all headers in the request.
  • getMethod() public

    Get the HTTP method used for this request. There are a few ways to specify a method.

  • getParam() public
    Safely access the values in $this->params.
  • getParsedBody() public
    Get the parsed request body data.
  • getPath() public
    Get the path of current request.
  • getProtocolVersion() public
    Retrieves the HTTP protocol version as a string.
  • getQuery() public
    Read a specific query value or dotted path.
  • getQueryParams() public

    Get all the query parameters in accordance to the PSR-7 specifications. To read specific query values use the alternative getQuery() method.

  • getRequestTarget() public
    Retrieves the request's target.
  • getServerParams() public
    Get all the server environment parameters.
  • getSession() public
    Returns the instance of the Session object for this request
  • getTrustedProxies() public
    Get trusted proxies
  • getUploadedFile() public
    Get the uploaded file from a dotted path.
  • getUploadedFiles() public
    Get the array of uploaded files from the request.
  • getUri() public
    Retrieves the URI instance.
  • hasHeader() public
    Check if a header is set in the request.
  • header() public deprecated
    Read an HTTP header from the Request information.
  • here() public deprecated
    Get the value of the current requests URL. Will include the query string arguments.
  • host() public
    Get the host that the request was handled on.
  • input() public

    Read data from php://input. Useful when interacting with XML or JSON request body content.

  • is() public
    Check whether or not a Request is a certain type.
  • isAll() public
    Check that a request matches all the given types.
  • method() public deprecated
    Get the HTTP method used for this request.
  • normalizeHeaderName() protected
    Normalize a header name into the SERVER version.
  • offsetExists() public deprecated
    Array access isset() implementation
  • offsetGet() public deprecated
    Array access read implementation
  • offsetSet() public deprecated
    Array access write implementation
  • offsetUnset() public deprecated
    Array access unset() implementation
  • param() public deprecated
    Safely access the values in $this->params.
  • parseAccept() public

    Parse the HTTP_ACCEPT header and return a sorted array with content types as the keys, and pref values as the values.

  • port() public
    Get the port the request was handled on.
  • query() public deprecated

    Provides a read accessor for $this->query. Allows you to use a Hash::get() compatible syntax for reading post data.

  • referer() public
    Returns the referer that referred this request.
  • scheme() public
    Get the current url scheme used for the request.
  • session() public deprecated
    Returns the instance of the Session object for this request
  • setInput() public deprecated

    Modify data originally from php://input. Useful for altering json/xml data in middleware or DispatcherFilters before it gets to RequestHandlerComponent

  • setTrustedProxies() public
    register trusted proxies
  • subdomains() public
    Get the subdomains for a host.
  • validateUploadedFiles() protected
    Recursively validate uploaded file data.
  • withAddedHeader() public
    Get a modified request with the provided header.
  • withAttribute() public
    Return an instance with the specified request attribute.
  • withBody() public
    Return an instance with the specified message body.
  • withCookieCollection() public

    Replace the cookies in the request with those contained in the provided CookieCollection.

  • withCookieParams() public
    Replace the cookies and get a new request instance.
  • withData() public
    Update the request with a new request data element.
  • withEnv() public
    Update the request with a new environment data element.
  • withHeader() public
    Get a modified request with the provided header.
  • withMethod() public
    Update the request method and get a new instance.
  • withParam() public
    Update the request with a new routing parameter
  • withParsedBody() public
    Update the parsed body and get a new instance.
  • withProtocolVersion() public
    Return an instance with the specified HTTP protocol version.
  • withQueryParams() public
    Update the query string data and get a new instance.
  • withRequestTarget() public
    Create a new instance with a specific request-target.
  • withUploadedFiles() public
    Update the request replacing the files, and creating a new instance.
  • withUri() public
    Return an instance with the specified uri
  • withoutAttribute() public
    Return an instance without the specified request attribute.
  • withoutData() public
    Update the request removing a data element.
  • withoutHeader() public
    Get a modified request without a provided header.

Method Detail

__call() public ¶

__call( string $name , array $params )

Missing method handler, handles wrapping older style isAjax() type methods

Parameters
string $name
The method called
array $params
Array of parameters for the method call
Returns
mixed
Throws
BadMethodCallException
when an invalid method is called.

__construct() public ¶

__construct( string|array $config = [] )

Create a new request object.

You can supply the data as either an array or as a string. If you use a string you can only supply the URL for the request. Using an array will let you provide the following keys:

  • post POST data or non query string data
  • query Additional data from the query string.
  • files Uploaded file data formatted like $_FILES.
  • cookies Cookies for this request.
  • environment $_SERVER and $_ENV data.
  • url The URL without the base path for the request.
  • uri The PSR7 UriInterface object. If null, one will be created.
  • base The base URL for the request.
  • webroot The webroot directory for the request.
  • input The data that would come from php://input this is useful for simulating requests with put, patch or delete data.
  • session An instance of a Session object
Parameters
string|array $config optional []

An array of request data to create a request with. The string version of this argument is deprecated and will be removed in 4.0.0

__get() public deprecated ¶

__get( string $name )

Magic get method allows access to parsed routing parameters directly on the object.

Allows access to $this->params['controller'] via $this->controller

Deprecated

3.4.0 Accessing routing parameters through __get will removed in 4.0.0. Use getParam() instead.


Parameters
string $name
The property being accessed.
Returns
mixed
Either the value of the parameter or null.

__isset() public deprecated ¶

__isset( string $name )

Magic isset method allows isset/empty checks on routing parameters.

Deprecated

3.4.0 Accessing routing parameters through __isset will removed in 4.0.0. Use getParam() instead.


Parameters
string $name
The property being accessed.
Returns
boolean
Existence

__set() public deprecated ¶

__set( string $name , mixed $value )

Magic set method allows backward compatibility for former public properties

Deprecated

3.6.0 Public properties will be removed in 4.0.0. Use appropriate setters instead.


Parameters
string $name
The property being accessed.
mixed $value
The property value.
Returns
mixed
Either the value of the parameter or null.

_acceptHeaderDetector() protected ¶

_acceptHeaderDetector( array $detect )

Detects if a specific accept header is present.

Parameters
array $detect
Detector options array.
Returns
boolean
Whether or not the request is the type you are checking.

_createUploadedFile() protected ¶

_createUploadedFile( array $value )

Create an UploadedFile instance from a $_FILES array.

If the value represents an array of values, this method will recursively process the data.

Parameters
array $value
$_FILES struct
Returns
array|Psr\Http\Message\UploadedFileInterface

_environmentDetector() protected ¶

_environmentDetector( array $detect )

Detects if a specific environment variable is present.

Parameters
array $detect
Detector options array.
Returns
boolean
Whether or not the request is the type you are checking.

_headerDetector() protected ¶

_headerDetector( array $detect )

Detects if a specific header is present.

Parameters
array $detect
Detector options array.
Returns
boolean
Whether or not the request is the type you are checking.

_is() protected ¶

_is( string $type , array $args )

Worker for the public is() function

Parameters
string $type
The type of request you want to check.
array $args
Array of custom detector arguments.
Returns
boolean
Whether or not the request is the type you are checking.

_normalizeNestedFiles() protected ¶

_normalizeNestedFiles( array $files = [] )

Normalize an array of file specifications.

Loops through all nested files and returns a normalized array of UploadedFileInterface instances.

Parameters
array $files optional []
The file data to normalize & convert.
Returns
array
An array of UploadedFileInterface objects.

_paramDetector() protected ¶

_paramDetector( array $detect )

Detects if a specific request parameter is present.

Parameters
array $detect
Detector options array.
Returns
boolean
Whether or not the request is the type you are checking.

_parseAcceptWithQualifier() protected ¶

_parseAcceptWithQualifier( string $header )

Parse Accept* headers with qualifier options.

Only qualifiers will be extracted, any other accept extensions will be discarded as they are not frequently used.

Parameters
string $header
Header to parse.
Returns
array

_processFiles() protected ¶

_processFiles( array $post , array $files )

Process uploaded files and move things onto the post data.

Parameters
array $post
Post data to merge files onto.
array $files
Uploaded files to merge in.
Returns
array
merged post + file data.

_processGet() protected ¶

_processGet( array $query , string $queryString = '' )

Process the GET parameters and move things into the object.

Parameters
array $query
The array to which the parsed keys/values are being added.
string $queryString optional ''
A query string from the URL if provided
Returns
array
An array containing the parsed query string as keys/values.

_processPost() protected ¶

_processPost( array $data )

Sets the REQUEST_METHOD environment variable based on the simulated _method HTTP override value. The 'ORIGINAL_REQUEST_METHOD' is also preserved, if you want the read the non-simulated HTTP method the client used.

Parameters
array $data
Array of post data.
Returns
array

_readInput() protected ¶

_readInput( )

Read data from php://input, mocked in tests.

Returns
string
contents of php://input

_setConfig() protected ¶

_setConfig( array $config )

Process the config/settings data into properties.

Parameters
array $config
The config data to use.

acceptLanguage() public ¶

acceptLanguage( string|null $language = null )

Get the languages accepted by the client, or check if a specific language is accepted.

Get the list of accepted languages:

\Cake\Http\ServerRequest::acceptLanguage(); ```

Check if a specific language is accepted:

\Cake\Http\ServerRequest::acceptLanguage('es-es'); ```

Parameters
string|null $language optional null
The language to test.
Returns
array|boolean
If a $language is provided, a boolean. Otherwise the array of accepted languages.

accepts() public ¶

accepts( string|null $type = null )

Find out which content types the client accepts or check if they accept a particular type of content.

Get all types:

$this->request->accepts();

Check for a single type:

$this->request->accepts('application/json');

This method will order the returned content types by the preference values indicated by the client.

Parameters
string|null $type optional null
The content type to check for. Leave null to get all types a client accepts.
Returns
array|boolean

Either an array of all the types the client accepts or a boolean if they accept the provided type.


addDetector() public static ¶

addDetector( string $name , callable|array $callable )

Add a new detector to the list of detectors that a request can use. There are several different types of detectors that can be set.

Callback comparison

Callback detectors allow you to provide a callable to handle the check. The callback will receive the request object as its only parameter.

addDetector('custom', function ($request) { //Return a boolean });

Environment value comparison

An environment value comparison, compares a value fetched from env() to a known value the environment value is equality checked against the provided value.

addDetector('post', ['env' => 'REQUEST_METHOD', 'value' => 'POST']);

Request parameter comparison

Allows for custom detectors on the request parameters.

addDetector('requested', ['param' => 'requested', 'value' => 1]);

Accept comparison

Allows for detector to compare against Accept header value.

addDetector('csv', ['accept' => 'text/csv']);

Header comparison

Allows for one or more headers to be compared.

addDetector('fancy', ['header' => ['X-Fancy' => 1]);

The param, env and comparison types allow the following value comparison options:

Pattern value comparison

Pattern value comparison allows you to compare a value fetched from env() to a regular expression.

addDetector('iphone', ['env' => 'HTTP_USER_AGENT', 'pattern' => '/iPhone/i']);

Option based comparison

Option based comparisons use a list of options to create a regular expression. Subsequent calls to add an already defined options detector will merge the options.

addDetector('mobile', ['env' => 'HTTP_USER_AGENT', 'options' => ['Fennec']]);

You can also make compare against multiple values using the options key. This is useful when you want to check if a request value is in a list of options.

addDetector('extension', ['param' => '_ext', 'options' => ['pdf', 'csv']]

Parameters
string $name
The name of the detector.
callable|array $callable
A callable or options array for the detector definition.

addParams() public deprecated ¶

addParams( array $params )

Add parameters to the request's parsed parameter set. This will overwrite any existing parameters. This modifies the parameters available through $request->getParam().

Deprecated

3.6.0 ServerRequest::addParams() is deprecated. Use withParam() or withAttribute('params') instead.


Parameters
array $params
Array of parameters to merge in
Returns

$this The current object, you can chain this method.

addPaths() public deprecated ¶

addPaths( array $paths )

Add paths to the requests' paths vars. This will overwrite any existing paths. Provides an easy way to modify, here, webroot and base.

Deprecated
3.6.0 Mutating a request in place is deprecated. Use withAttribute() to modify paths instead.
Parameters
array $paths
Array of paths to merge in
Returns

$this The current object, you can chain this method.

allowMethod() public ¶

allowMethod( string|array $methods )

Allow only certain HTTP request methods, if the request method does not match a 405 error will be shown and the required "Allow" response header will be set.

Example:

$this->request->allowMethod('post'); or $this->request->allowMethod(['post', 'delete']);

If the request would be GET, response header "Allow: POST, DELETE" will be set and a 405 error will be returned.

Parameters
string|array $methods
Allowed HTTP request methods.
Returns
boolean
true
Throws
Cake\Http\Exception\MethodNotAllowedException

clearDetectorCache() public ¶

clearDetectorCache( )

Clears the instance detector cache, used by the is() function

clientIp() public ¶

clientIp( )

Get the IP the client is using, or says they are using.

Returns
string
The client IP.

contentType() public ¶

contentType( )

Get the content type used in this request.

Returns
string

cookie() public deprecated ¶

cookie( string $key )

Read cookie data from the request's cookie data.

Deprecated
3.4.0 Use getCookie() instead.
Parameters
string $key
The key you want to read.
Returns
string|null
Either the cookie value, or null if the value doesn't exist.

createFromGlobals() public static deprecated ¶

createFromGlobals( )

Wrapper method to create a new request from PHP superglobals.

Uses the $_GET, $_POST, $_FILES, $_COOKIE, $_SERVER, $_ENV and php://input data to construct the request.

Deprecated
3.4.0 Use Cake\Http\ServerRequestFactory instead.
Returns
Cake\Http\ServerRequest

data() public deprecated ¶

data( string|null $name , ... $args )

Provides a read/write accessor for $this->data. Allows you to use a Hash::get() compatible syntax for reading post data.

Reading values.

$request->data('Post.title');

When reading values you will get null for keys/values that do not exist.

Writing values

$request->data('Post.title', 'New post!');

You can write to any value, even paths/keys that do not exist, and the arrays will be created for you.

Deprecated
3.4.0 Use withData() and getData() or getParsedBody() instead.
Parameters
string|null $name
Dot separated name of the value to read/write
... $args
$args The data to set (deprecated)
Returns
mixed|Cake\Http\ServerRequest
$this Either the value being read, or this so you can chain consecutive writes.

domain() public ¶

domain( integer $tldLength = 1 )

Get the domain name and include $tldLength segments of the tld.

Parameters
integer $tldLength optional 1

Number of segments your tld contains. For example: example.com contains 1 tld. While example.co.uk contains 2.

Returns
string
Domain name without subdomains.

env() public deprecated ¶

env( string $key , string|null $value = null , string|null $default = null )

Get/Set value from the request's environment data. Fallback to using env() if key not set in $environment property.

Deprecated
3.5.0 Use getEnv()/withEnv() instead.
Parameters
string $key
The key you want to read/write from/to.
string|null $value optional null
Value to set. Default null.
string|null $default optional null

Default value when trying to retrieve an environment variable's value that does not exist. The value parameter must be null.

Returns

$this|string|null This instance if used as setter, if used as getter either the environment value, or null if the value doesn't exist.


getAttribute() public ¶

getAttribute( string $name , mixed|null $default = null )

Read an attribute from the request, or get the default

Parameters
string $name
The attribute name.
mixed|null $default optional null
The default value if the attribute has not been set.
Returns
mixed

getAttributes() public ¶

getAttributes( )

Get all the attributes in the request.

This will include the params, webroot, base, and here attributes that CakePHP provides.

Returns
array

getBody() public ¶

getBody( )

Gets the body of the message.

Returns
Psr\Http\Message\StreamInterface
Returns the body as a stream.

getCookie() public ¶

getCookie( string $key , string $default = null )

Read cookie data from the request's cookie data.

Parameters
string $key
The key or dotted path you want to read.
string $default optional null
The default value if the cookie is not set.
Returns
string|array|null
Either the cookie value, or null if the value doesn't exist.

getCookieCollection() public ¶

getCookieCollection( )

Get a cookie collection based on the request's cookies

The CookieCollection lets you interact with request cookies using \Cake\Http\Cookie\Cookie objects and can make converting request cookies into response cookies easier.

This method will create a new cookie collection each time it is called. This is an optimization that allows fewer objects to be allocated until the more complex CookieCollection is needed. In general you should prefer getCookie() and getCookieParams() over this method. Using a CookieCollection is ideal if your cookies contain complex JSON encoded data.

Returns
Cake\Http\Cookie\CookieCollection

getCookieParams() public ¶

getCookieParams( )

Get all the cookie data from the request.

Returns
array
An array of cookie data.

getData() public ¶

getData( string|null $name = null , mixed $default = null )

Provides a safe accessor for request data. Allows you to use Hash::get() compatible paths.

Reading values.

// get all data
$request->getData();

// Read a specific field.
$request->getData('Post.title');

// With a default value.
$request->getData('Post.not there', 'default value');

When reading values you will get null for keys/values that do not exist.

Parameters
string|null $name optional null
Dot separated name of the value to read. Or null to read all data.
mixed $default optional null
The default data.
Returns
array|string|null
The value being read.

getEnv() public ¶

getEnv( string $key , string|null $default = null )

Get a value from the request's environment data. Fallback to using env() if the key is not set in the $environment property.

Parameters
string $key
The key you want to read from.
string|null $default optional null

Default value when trying to retrieve an environment variable's value that does not exist.

Returns
string|null
Either the environment value, or null if the value doesn't exist.

getHeader() public ¶

getHeader( string $name )

Get a single header from the request.

Return the header value as an array. If the header is not present an empty array will be returned.

Parameters
string $name
The header you want to get (case-insensitive)
Returns
array

An associative array of headers and their values. If the header doesn't exist, an empty array will be returned.


Link
This method is part of the PSR-7 server request interface.

getHeaderLine() public ¶

getHeaderLine( string $name )

Get a single header as a string from the request.

Parameters
string $name
The header you want to get (case-insensitive)
Returns
string
Header values collapsed into a comma separated string.
Link
This method is part of the PSR-7 server request interface.

getHeaders() public ¶

getHeaders( )

Get all headers in the request.

Returns an associative array where the header names are the keys and the values are a list of header values.

While header names are not case-sensitive, getHeaders() will normalize the headers.

Returns
array
An associative array of headers and their values.
Link
This method is part of the PSR-7 server request interface.

getMethod() public ¶

getMethod( )

Get the HTTP method used for this request. There are a few ways to specify a method.

  • If your client supports it you can use native HTTP methods.
  • You can set the HTTP-X-Method-Override header.
  • You can submit an input with the name _method

Any of these 3 approaches can be used to set the HTTP method used by CakePHP internally, and will effect the result of this method.

Returns
string
The name of the HTTP method used.
Link
This method is part of the PSR-7 server request interface.

getParam() public ¶

getParam( string $name , mixed $default = false )

Safely access the values in $this->params.

Parameters
string $name
The name or dotted path to parameter.
mixed $default optional false
The default value if $name is not set. Default false.
Returns
mixed

getParsedBody() public ¶

getParsedBody( )

Get the parsed request body data.

If the request Content-Type is either application/x-www-form-urlencoded or multipart/form-data, and the request method is POST, this will be the post data. For other content types, it may be the deserialized request body.

Returns
object|array|null

The deserialized body parameters, if any. These will typically be an array or object.


getPath() public ¶

getPath( )

Get the path of current request.

Returns
string
Since
3.6.1

getProtocolVersion() public ¶

getProtocolVersion( )

Retrieves the HTTP protocol version as a string.

Returns
string
HTTP protocol version.

getQuery() public ¶

getQuery( string|null $name = null , mixed $default = null )

Read a specific query value or dotted path.

Developers are encouraged to use getQueryParams() when possible as it is PSR-7 compliant, and this method is not.

PSR-7 Alternative

$value = Hash::get($request->getQueryParams(), 'Post.id', null);
Parameters
string|null $name optional null
The name or dotted path to the query param or null to read all.
mixed $default optional null
The default value if the named parameter is not set, and $name is not null.
Returns
array|string|null
Query data.
See
ServerRequest::getQueryParams()

getQueryParams() public ¶

getQueryParams( )

Get all the query parameters in accordance to the PSR-7 specifications. To read specific query values use the alternative getQuery() method.

Returns
array
Link
This method is part of the PSR-7 server request interface.

getRequestTarget() public ¶

getRequestTarget( )

Retrieves the request's target.

Retrieves the message's request-target either as it was requested, or as set with withRequestTarget(). By default this will return the application relative path without base directory, and the query string defined in the SERVER environment.

Returns
string

getServerParams() public ¶

getServerParams( )

Get all the server environment parameters.

Read all of the 'environment' or 'server' data that was used to create this request.

Returns
array
Link
This method is part of the PSR-7 server request interface.

getSession() public ¶

getSession( )

Returns the instance of the Session object for this request

Returns
Cake\Http\Session

getTrustedProxies() public ¶

getTrustedProxies( )

Get trusted proxies

Returns
string[]

getUploadedFile() public ¶

getUploadedFile( string $path )

Get the uploaded file from a dotted path.

Parameters
string $path
The dot separated path to the file you want.
Returns
Psr\Http\Message\UploadedFileInterface|null

getUploadedFiles() public ¶

getUploadedFiles( )

Get the array of uploaded files from the request.

Returns
array

getUri() public ¶

getUri( )

Retrieves the URI instance.

Returns
Psr\Http\Message\UriInterface

Returns a UriInterface instance representing the URI of the request.


hasHeader() public ¶

hasHeader( string $name )

Check if a header is set in the request.

Parameters
string $name
The header you want to get (case-insensitive)
Returns
boolean
Whether or not the header is defined.
Link
This method is part of the PSR-7 server request interface.

header() public deprecated ¶

header( string $name )

Read an HTTP header from the Request information.

If the header is not defined in the request, this method will fallback to reading data from $_SERVER and $_ENV. This fallback behavior is deprecated, and will be removed in 4.0.0

Deprecated
4.0.0 The automatic fallback to env() will be removed in 4.0.0, see getHeader()
Parameters
string $name
Name of the header you want.
Returns
string|null
Either null on no header being set or the value of the header.

here() public deprecated ¶

here( boolean $base = true )

Get the value of the current requests URL. Will include the query string arguments.

Deprecated
3.4.0 This method will be removed in 4.0.0. You should use getRequestTarget() instead.
Parameters
boolean $base optional true
Include the base path, set to false to trim the base path off.
Returns
string
The current request URL including query string args.

host() public ¶

host( )

Get the host that the request was handled on.

Returns
string

input() public ¶

input( string|null $callback , ... $args )

Read data from php://input. Useful when interacting with XML or JSON request body content.

Getting input with a decoding function:

$this->request->input('json_decode');

Getting input using a decoding function, and additional params:

$this->request->input('Xml::build', ['return' => 'DOMDocument']);

Any additional parameters are applied to the callback in the order they are given.

Parameters
string|null $callback

A decoding callback that will convert the string data to another representation. Leave empty to access the raw input data. You can also supply additional parameters for the decoding callback using var args, see above.

... $args
$args The additional arguments
Returns
string
The decoded/processed request data.

is() public ¶

is( string|array $type , ... $args )

Check whether or not a Request is a certain type.

Uses the built in detection rules as well as additional rules defined with Cake\Http\ServerRequest::addDetector(). Any detector can be called as is($type) or is$Type().

Parameters
string|array $type

The type of request you want to check. If an array this method will return true if the request matches any type.

... $args
$args List of arguments
Returns
boolean
Whether or not the request is the type you are checking.

isAll() public ¶

isAll( array $types )

Check that a request matches all the given types.

Allows you to test multiple types and union the results. See Request::is() for how to add additional types and the built-in types.

Parameters
array $types
The types to check.
Returns
boolean
Success.
See
\Cake\Http\ServerRequest::is()

method() public deprecated ¶

method( )

Get the HTTP method used for this request.

Deprecated
3.4.0 This method will be removed in 4.0.0. Use getMethod() instead.
Returns
string
The name of the HTTP method used.

normalizeHeaderName() protected ¶

normalizeHeaderName( string $name )

Normalize a header name into the SERVER version.

Parameters
string $name
The header name.
Returns
string
The normalized header name.

offsetExists() public deprecated ¶

offsetExists( string $name )

Array access isset() implementation

Deprecated
3.4.0 The ArrayAccess methods will be removed in 4.0.0. Use getParam() instead.
Parameters
string $name
thing to check.
Returns
boolean
Implementation of
ArrayAccess::offsetExists()

offsetGet() public deprecated ¶

offsetGet( string $name )

Array access read implementation

Deprecated
3.4.0 The ArrayAccess methods will be removed in 4.0.0. Use getParam(), getData() and getQuery() instead.
Parameters
string $name
Name of the key being accessed.
Returns
mixed
Implementation of
ArrayAccess::offsetGet()

offsetSet() public deprecated ¶

offsetSet( string $name , mixed $value )

Array access write implementation

Deprecated
3.4.0 The ArrayAccess methods will be removed in 4.0.0. Use withParam() instead.
Parameters
string $name
Name of the key being written
mixed $value
The value being written.
Implementation of
ArrayAccess::offsetSet()

offsetUnset() public deprecated ¶

offsetUnset( string $name )

Array access unset() implementation

Deprecated
3.4.0 The ArrayAccess methods will be removed in 4.0.0. Use withParam() instead.
Parameters
string $name
Name to unset.
Implementation of
ArrayAccess::offsetUnset()

param() public deprecated ¶

param( string $name , ... $args )

Safely access the values in $this->params.

Deprecated
3.4.0 Use getParam() and withParam() instead.
Parameters
string $name
The name of the parameter to get.
... $args
$args Value to set (deprecated).
Returns
mixed|Cake\Http\ServerRequest

$this The value of the provided parameter. Will return false if the parameter doesn't exist or is falsey.


parseAccept() public ¶

parseAccept( )

Parse the HTTP_ACCEPT header and return a sorted array with content types as the keys, and pref values as the values.

Generally you want to use Cake\Http\ServerRequest::accept() to get a simple list of the accepted content types.

Returns
array
An array of prefValue => [content/types]

port() public ¶

port( )

Get the port the request was handled on.

Returns
string

query() public deprecated ¶

query( string|null $name = null )

Provides a read accessor for $this->query. Allows you to use a Hash::get() compatible syntax for reading post data.

Deprecated
3.4.0 Use getQuery() or the PSR-7 getQueryParams() and withQueryParams() methods instead.
Parameters
string|null $name optional null
Query string variable name or null to read all.
Returns
string|array|null
The value being read

referer() public ¶

referer( boolean $local = false )

Returns the referer that referred this request.

Parameters
boolean $local optional false

Attempt to return a local address. Local addresses do not contain hostnames.

Returns
string
The referring address for this request.

scheme() public ¶

scheme( )

Get the current url scheme used for the request.

e.g. 'http', or 'https'

Returns
string
The scheme used for the request.

session() public deprecated ¶

session( Cake\Http\Session $session = null )

Returns the instance of the Session object for this request

If a session object is passed as first argument it will be set as the session to use for this request

Deprecated
3.5.0 Use getSession() instead. The setter part will be removed.
Parameters
Cake\Http\Session $session optional null
the session object to use
Returns
Cake\Http\Session

setInput() public deprecated ¶

setInput( string $input )

Modify data originally from php://input. Useful for altering json/xml data in middleware or DispatcherFilters before it gets to RequestHandlerComponent

Deprecated
3.4.0 This method will be removed in 4.0.0. Use withBody() instead.
Parameters
string $input
A string to replace original parsed data from input()

setTrustedProxies() public ¶

setTrustedProxies( array $proxies )

register trusted proxies

Parameters
array $proxies
ips list of trusted proxies

subdomains() public ¶

subdomains( integer $tldLength = 1 )

Get the subdomains for a host.

Parameters
integer $tldLength optional 1

Number of segments your tld contains. For example: example.com contains 1 tld. While example.co.uk contains 2.

Returns
array
An array of subdomains.

validateUploadedFiles() protected ¶

validateUploadedFiles( array $uploadedFiles , string $path )

Recursively validate uploaded file data.

Parameters
array $uploadedFiles
The new files array to validate.
string $path
The path thus far.
Throws
InvalidArgumentException
If any leaf elements are not valid files.

withAddedHeader() public ¶

withAddedHeader( string $name , string|array $value )

Get a modified request with the provided header.

Existing header values will be retained. The provided value will be appended into the existing values.

Parameters
string $name
The header name.
string|array $value
The header value
Returns
Cake\Http\ServerRequest
Link
This method is part of the PSR-7 server request interface.

withAttribute() public ¶

withAttribute( string $name , mixed $value )

Return an instance with the specified request attribute.

Parameters
string $name
The attribute name.
mixed $value
The value of the attribute.
Returns
Cake\Http\ServerRequest

withBody() public ¶

withBody( Psr\Http\Message\StreamInterface $body )

Return an instance with the specified message body.

Parameters
Psr\Http\Message\StreamInterface $body
The new request body
Returns
Cake\Http\ServerRequest

withCookieCollection() public ¶

withCookieCollection( Cake\Http\Cookie\CookieCollection $cookies )

Replace the cookies in the request with those contained in the provided CookieCollection.

Parameters
Cake\Http\Cookie\CookieCollection $cookies
The cookie collection
Returns
Cake\Http\ServerRequest

withCookieParams() public ¶

withCookieParams( array $cookies )

Replace the cookies and get a new request instance.

Parameters
array $cookies
The new cookie data to use.
Returns
Cake\Http\ServerRequest

withData() public ¶

withData( string $name , mixed $value )

Update the request with a new request data element.

Returns an updated request object. This method returns a new request object and does not mutate the request in-place.

Use withParsedBody() if you need to replace the all request data.

Parameters
string $name
The dot separated path to insert $value at.
mixed $value
The value to insert into the request data.
Returns
Cake\Http\ServerRequest

withEnv() public ¶

withEnv( string $key , string $value )

Update the request with a new environment data element.

Returns an updated request object. This method returns a new request object and does not mutate the request in-place.

Parameters
string $key
The key you want to write to.
string $value
Value to set
Returns
Cake\Http\ServerRequest

withHeader() public ¶

withHeader( string $name , string|array $value )

Get a modified request with the provided header.

Parameters
string $name
The header name.
string|array $value
The header value
Returns
Cake\Http\ServerRequest
Link
This method is part of the PSR-7 server request interface.

withMethod() public ¶

withMethod( string $method )

Update the request method and get a new instance.

Parameters
string $method
The HTTP method to use.
Returns
Cake\Http\ServerRequest
A new instance with the updated method.
Link
This method is part of the PSR-7 server request interface.

withParam() public ¶

withParam( string $name , mixed $value )

Update the request with a new routing parameter

Returns an updated request object. This method returns a new request object and does not mutate the request in-place.

Parameters
string $name
The dot separated path to insert $value at.
mixed $value
The value to insert into the the request parameters.
Returns
Cake\Http\ServerRequest

withParsedBody() public ¶

withParsedBody( object|array|null $data )

Update the parsed body and get a new instance.

Parameters
object|array|null $data

The deserialized body data. This will typically be in an array or object.

Returns
Cake\Http\ServerRequest

withProtocolVersion() public ¶

withProtocolVersion( string $version )

Return an instance with the specified HTTP protocol version.

The version string MUST contain only the HTTP version number (e.g., "1.1", "1.0").

Parameters
string $version
HTTP protocol version
Returns
Cake\Http\ServerRequest

withQueryParams() public ¶

withQueryParams( array $query )

Update the query string data and get a new instance.

Parameters
array $query
The query string data to use
Returns
Cake\Http\ServerRequest
A new instance with the updated query string data.
Link
This method is part of the PSR-7 server request interface.

withRequestTarget() public ¶

withRequestTarget( string $target )

Create a new instance with a specific request-target.

You can use this method to overwrite the request target that is inferred from the request's Uri. This also lets you change the request target's form to an absolute-form, authority-form or asterisk-form

Parameters
string $target
The request target.
Returns
Cake\Http\ServerRequest
Link
(for the various request-target forms allowed in request messages)

withUploadedFiles() public ¶

withUploadedFiles( array $files )

Update the request replacing the files, and creating a new instance.

Parameters
array $files
An array of uploaded file objects.
Returns
Cake\Http\ServerRequest
Throws
InvalidArgumentException
when $files contains an invalid object.

withUri() public ¶

withUri( Psr\Http\Message\UriInterface $uri , boolean $preserveHost = false )

Return an instance with the specified uri

Warning Replacing the Uri will not update the base, webroot, and url attributes.

Parameters
Psr\Http\Message\UriInterface $uri
The new request uri
boolean $preserveHost optional false
Whether or not the host should be retained.
Returns
Cake\Http\ServerRequest

withoutAttribute() public ¶

withoutAttribute( string $name )

Return an instance without the specified request attribute.

Parameters
string $name
The attribute name.
Returns
Cake\Http\ServerRequest
Throws
InvalidArgumentException

withoutData() public ¶

withoutData( string $name )

Update the request removing a data element.

Returns an updated request object. This method returns a new request object and does not mutate the request in-place.

Parameters
string $name
The dot separated path to remove.
Returns
Cake\Http\ServerRequest

withoutHeader() public ¶

withoutHeader( string $name )

Get a modified request without a provided header.

Parameters
string $name
The header name to remove.
Returns
Cake\Http\ServerRequest
Link
This method is part of the PSR-7 server request interface.

Properties detail

$_detectorCache ¶

protected array

Instance cache for results of is(something) calls

[]

$_detectors ¶

protected static array

The built in detectors used with is() can be modified with addDetector().

There are several ways to specify a detector, see \Cake\Http\ServerRequest::addDetector() for the various formats and ways to define detectors.

[
    'get' => ['env' => 'REQUEST_METHOD', 'value' => 'GET'],
    'post' => ['env' => 'REQUEST_METHOD', 'value' => 'POST'],
    'put' => ['env' => 'REQUEST_METHOD', 'value' => 'PUT'],
    'patch' => ['env' => 'REQUEST_METHOD', 'value' => 'PATCH'],
    'delete' => ['env' => 'REQUEST_METHOD', 'value' => 'DELETE'],
    'head' => ['env' => 'REQUEST_METHOD', 'value' => 'HEAD'],
    'options' => ['env' => 'REQUEST_METHOD', 'value' => 'OPTIONS'],
    'ssl' => ['env' => 'HTTPS', 'options' => [1, 'on']],
    'ajax' => ['env' => 'HTTP_X_REQUESTED_WITH', 'value' => 'XMLHttpRequest'],
    'flash' => ['env' => 'HTTP_USER_AGENT', 'pattern' => '/^(Shockwave|Adobe) Flash/'],
    'requested' => ['param' => 'requested', 'value' => 1],
    'json' => ['accept' => ['application/json'], 'param' => '_ext', 'value' => 'json'],
    'xml' => ['accept' => ['application/xml', 'text/xml'], 'param' => '_ext', 'value' => 'xml'],
]

$_environment ¶

protected array

Array of environment data.

[]

$_input ¶

protected string

Contents of php://input

$attributes ¶

protected array

Store the additional attributes attached to the request.

[]

$base ¶

protected string

Base URL path.

Deprecated
3.4.0 This public property will be removed in 4.0.0. Use getAttribute('base') instead.

$cookies ¶

protected array

Array of cookie data.

Deprecated
3.4.0 This public property will be removed in 4.0.0. Use getCookie() instead.
[]

$data ¶

protected array|object|null

Array of POST data. Will contain form data as well as uploaded files. In PUT/PATCH/DELETE requests this property will contain the form-urlencoded data.

Deprecated
3.4.0 This public property will be removed in 4.0.0. Use getData() instead.
[]

$emulatedAttributes ¶

protected array

A list of propertes that emulated by the PSR7 attribute methods.

['session', 'webroot', 'base', 'params', 'here']

$here ¶

protected string

The full address to the current request

Deprecated
3.4.0 This public property will be removed in 4.0.0. Use getAttribute('here') or getUri()->getPath() instead.

$params ¶

protected array

Array of parameters parsed from the URL.

Deprecated
3.4.0 This public property will be removed in 4.0.0. Use getParam() instead.
[
    'plugin' => null,
    'controller' => null,
    'action' => null,
    '_ext' => null,
    'pass' => []
]

$protocol ¶

protected string|null

The HTTP protocol version used.

$query ¶

protected array

Array of query string arguments

Deprecated
3.4.0 This public property will be removed in 4.0.0. Use getQuery() or getQueryParams() instead.
[]

$requestTarget ¶

protected string|null

The request target if overridden

$session ¶

protected Cake\Http\Session

Instance of a Session object relative to this request

$stream ¶

protected Psr\Http\Message\StreamInterface

Request body stream. Contains php://input unless input constructor option is used.

$trustProxy ¶

public boolean

Whether or not to trust HTTP_X headers set by most load balancers. Only set to true if your application runs behind load balancers/proxies that you control.

false

$trustedProxies ¶

protected string[]

Trusted proxies list

[]

$uploadedFiles ¶

protected array

Array of Psr\Http\Message\UploadedFileInterface objects.

[]

$uri ¶

protected Psr\Http\Message\UriInterface

Uri instance

$url ¶

protected string

The URL string used for the request.

Deprecated
3.6.0 This public property will be removed in 4.0.0. Use getPath() instead.

$webroot ¶

protected string

webroot path segment for the request.

Deprecated
3.4.0 This public property will be removed in 4.0.0. Use getAttribute('webroot') instead.
'/'
Follow @CakePHP
#IRC
OpenHub
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Logos & Trademarks
  • Community
  • Team
  • Issues (Github)
  • YouTube Channel
  • Get Involved
  • Bakery
  • Featured Resources
  • Newsletter
  • Certification
  • My CakePHP
  • CakeFest
  • Facebook
  • Twitter
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs