Cookie Component.
Provides enhanced cookie handling features for use in the controller layer. In addition to the basic features offered be Cake\Http\Response, this class lets you:
$_defaultConfig protected array$_keyConfig protected array$_loaded protected array$_response protected Cake\Http\Response|nullA reference to the Controller's Cake\Http\Response object. Currently unused.
$_values protected array_delete( string $name )
Sets a cookie expire time to remove cookie value.
This is only done once all values in a cookie key have been removed with delete.
$name _getCookieEncryptionKey( )
Returns the encryption key to be used.
_load( string|array $key )
Load the cookie data from the request and response objects.
Based on the configuration data, cookies will be decrypted. When cookies contain array data, that data will be expanded.
$key _write( string $name , string $value )
Set cookie
$name $value check( string|null $key = null )
Returns true if given key is set in the cookie.
$key optional null configKey( string $keyname , null|string|array $option = null , string|null $value = null )
Set the configuration for a specific top level key.
Set a single config option for a key:
$this->Cookie->configKey('User', 'expires', '+3 months'); Set multiple options:
$this->Cookie->configKey('User', [
'expires', '+3 months',
'httpOnly' => true,
]); $keyname $option optional null Either the option name to set, or an array of options to set, or null to read config options for a given key.
$value optional null delete( string $key )
Delete a cookie value
You must use this method before any output is sent to the browser. Failure to do so will result in header already sent errors.
Deleting a top level key will delete all keys nested within that key. For example deleting the User key, will also delete User.email.
$key implementedEvents( )
Events supported by this component.
Cake\Controller\Component::implementedEvents() initialize( array $config )
Initialize config data and properties.
$config Cake\Controller\Component::initialize() read( string|null $key = null )
Read the value of key path from request cookies.
This method will also allow you to read cookies that have been written in this request, but not yet sent to the client.
$key optional null write( string|array $key , mixed $value = null )
Write a value to the response cookies.
You must use this method before any output is sent to the browser. Failure to do so will result in header already sent errors.
$key $value optional null __construct( Cake\Controller\ComponentRegistry $registry , array $config = [] )
Constructor
Cake\Controller\ComponentRegistry $registry $config optional [] __debugInfo( )
Returns an array that can be used to describe the internal state of this object.
__get( string $name )
Magic method for lazy loading $components.
$name getController( )
Get the controller this component is bound to.
Cake\Controller\Controller_checkCipher( string $encrypt )
Helper method for validating encryption cipher names.
$encrypt _decode( string $value , string|false $encrypt , string|null $key )
Decodes and decrypts a single value.
$value $encrypt $key _decrypt( array $values , string|boolean $mode , string|null $key = null )
Decrypts $value using public $type method in Security class
$values $mode $key optional null _encrypt( string $value , string|boolean $encrypt , string|null $key = null )
Encrypts $value using public $type method in Security class
$value $encrypt Encryption mode to use. False disabled encryption.
$key optional null _explode( string $string )
Explode method to return array from string set in CookieComponent::_implode() Maintains reading backwards compatibility with 1.x CookieComponent::_implode().
$string _implode( array $array )
Implode method to keep keys are multidimensional arrays
$array _configDelete( string $key )
Deletes a single config key.
$key Cake\Core\Exception\Exception_configRead( string|null $key )
Reads a config key.
$key _configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Writes a config key.
$key $value $merge optional false True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
Cake\Core\Exception\Exceptionconfig( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )
Gets/Sets the config.
Reading the whole config:
$this->config();
Reading a specific value:
$this->config('key'); Reading a nested value:
$this->config('some.nested.key'); Setting a specific value:
$this->config('key', $value); Setting a nested value:
$this->config('some.nested.key', $value); Updating multiple config settings at the same time:
$this->config(['one' => 'value', 'another' => 'value']);
$key optional null $value optional null $merge optional true Cake\Core\Exception\ExceptionconfigShallow( string|array $key , mixed|null $value = null )
Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.
Setting a specific value:
$this->configShallow('key', $value); Setting a nested value:
$this->configShallow('some.nested.key', $value); Updating multiple config settings at the same time:
$this->configShallow(['one' => 'value', 'another' => 'value']);
$key $value optional null getConfig( string|null $key = null , mixed $default = null )
Returns the config.
Reading the whole config:
$this->getConfig();
Reading a specific value:
$this->getConfig('key'); Reading a nested value:
$this->getConfig('some.nested.key'); Reading with default value:
$this->getConfig('some-key', 'default-value'); $key optional null $default optional null setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
Sets the config.
Setting a specific value:
$this->setConfig('key', $value); Setting a nested value:
$this->setConfig('some.nested.key', $value); Updating multiple config settings at the same time:
$this->setConfig(['one' => 'value', 'another' => 'value']);
$key $value optional null $merge optional true Cake\Core\Exception\Exceptionlog( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )
Convenience method to write a message to Log. See Log::write() for more information on writing to logs.
$msg $level optional LogLevel::ERROR $context optional [] protected array
Default config
expires - How long the cookies should last for. Defaults to 1 month.path - The path on the server in which the cookie will be available on. If path is set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is base path of app. For e.g. if your app is running under a subfolder "cakeapp" of document root the path would be "/cakeapp/" else it would be "/".domain - The domain that the cookie is available. To make the cookie available on all subdomains of example.com set domain to '.example.com'.secure - Indicates that the cookie should only be transmitted over a secure HTTPS connection. When set to true, the cookie will only be set if a secure connection exists.key - Encryption key used when encrypted cookies are enabled. Defaults to Security.salt.httpOnly - Set to true to make HTTP only cookies. Cookies that are HTTP only are not accessible in JavaScript. Default false.encryption - Type of encryption to use. Defaults to 'aes'.[
'path' => null,
'domain' => '',
'secure' => false,
'key' => null,
'httpOnly' => false,
'encryption' => 'aes',
'expires' => '+1 month',
] protected array
Config specific to a given top level key name.
The values in this array are merged with the general config to generate the configuration for a given top level cookie name.
[]
protected array
A map of keys that have been loaded.
Since CookieComponent lazily reads cookie data, we need to track which cookies have been read to account for read, delete, read patterns.
[]
protected Cake\Http\Response|null
A reference to the Controller's Cake\Http\Response object. Currently unused.
protected array
Values stored in the cookie.
Accessed in the controller using $this->Cookie->read('Name.key');
[]
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.8/class-Cake.Controller.Component.CookieComponent.html