$request
$request : \Cake\Http\ServerRequest
Request object
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:
$request : \Cake\Http\ServerRequest
Request object
$response : \Cake\Http\Response
Response object
None found |
None found |
None found |
$_registry : \Cake\Controller\ComponentRegistry
Component registry class used to lazy load components.
None found |
$_defaultConfig : 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'.None found |
$_componentMap : array
A component lookup table used to lazy load component objects.
None found |
None found |
$_configInitialized : boolean
Whether the config property has already been configured with defaults
None found |
$_keyConfig : 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.
None found |
$_values : array
Values stored in the cookie.
Accessed in the controller using $this->Cookie->read('Name.key');
None found |
$_loaded : 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.
None found |
$_response : \Cake\Http\Response|null
A reference to the Controller's Cake\Http\Response object.
Currently unused.
None found |
__construct(\Cake\Controller\ComponentRegistry $registry, array $config = array())
Constructor
\Cake\Controller\ComponentRegistry | $registry | A ComponentRegistry this component can use to lazy load its components |
array | $config | Array of configuration settings. |
None found |
getController() : \Cake\Controller\Controller
Get the controller this component is bound to.
The bound controller.
None found |
initialize(array $config) : void
Initialize config data and properties.
Implement this method to avoid having to overwrite the constructor and call parent.
array | $config | The config data. |
None found |
__get(string $name) : mixed
Magic method for lazy loading $components.
string | $name | Name of component to get. |
A Component object or null.
None found |
implementedEvents() : array
Events supported by this component.
Uses Conventions to map controller events to standard component callback method names. By defining one of the callback methods a component is assumed to be interested in the related event.
Override this method if you need to add non-conventional event listeners. Or if you want components to listen to non-standard events.
None found |
__debugInfo() : array
Returns an array that can be used to describe the internal state of this object.
None found |
setConfig(string|array $key, mixed|null $value = null, boolean $merge = true) : $this
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']);
string|array | $key | The key to set, or a complete array of configs. |
mixed|null | $value | The value to set. |
boolean | $merge | Whether to recursively merge or overwrite existing config, defaults to true. |
When trying to set a key that is invalid.
None found |
getConfig(string|null $key = null, mixed $default = null) : mixed
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');
string|null | $key | The key to get or null for the whole config. |
mixed | $default | The return value when the key does not exist. |
Config value being read.
None found |
config(string|array|null $key = null, mixed|null $value = null, boolean $merge = true) : mixed
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']);
string|array|null | $key | The key to get/set, or a complete array of configs. |
mixed|null | $value | The value to set. |
boolean | $merge | Whether to recursively merge or overwrite existing config, defaults to true. |
When trying to set a key that is invalid.
Config value being read, or the object itself on write operations.
None found |
configShallow(string|array $key, mixed|null $value = null) : $this
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']);
string|array | $key | The key to set, or a complete array of configs. |
mixed|null | $value | The value to set. |
None found |
log(mixed $msg, integer|string $level = \Psr\Log\LogLevel::ERROR, string|array $context = array()) : boolean
Convenience method to write a message to Log. See Log::write() for more information on writing to logs.
mixed | $msg | Log message. |
integer|string | $level | Error level. |
string|array | $context | Additional log data relevant to this message. |
Success of log write.
None found |
configKey(string $keyname, null|string|array $option = null, string|null $value = null) : array|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,
]);
string | $keyname | The top level keyname to configure. |
null|string|array | $option | Either the option name to set, or an array of options to set, or null to read config options for a given key. |
string|null | $value | Either the value to set, or empty when $option is an array. |
None found |
write(string|array $key, mixed $value = null) : void
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.
string|array | $key | Key for the value |
mixed | $value | Value |
None found |
read(string|null $key = null) : string
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.
string|null | $key | Key of the value to be obtained. |
or null, value for specified key
None found |
check(string|null $key = null) : boolean
Returns true if given key is set in the cookie.
string|null | $key | Key to check for |
True if the key exists
None found |
delete(string $key) : void
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
.
string | $key | Key of the value to be deleted |
None found |
_getCookieEncryptionKey() : string
Returns the encryption key to be used.
None found |
_encrypt(string $value, string|boolean $encrypt, string|null $key = null) : string
Encrypts $value using public $type method in Security class
string | $value | Value to encrypt |
string|boolean | $encrypt | Encryption mode to use. False disabled encryption. |
string|null | $key | Used as the security salt if specified. |
Encoded values
None found |
_checkCipher(string $encrypt) : void
Helper method for validating encryption cipher names.
string | $encrypt | The cipher name. |
When an invalid cipher is provided.
None found |
_decrypt(array $values, string|boolean $mode, string|null $key = null) : string|array
Decrypts $value using public $type method in Security class
array | $values | Values to decrypt |
string|boolean | $mode | Encryption mode |
string|null | $key | Used as the security salt if specified. |
Decrypted values
None found |
_decode(string $value, string|false $encrypt, string|null $key) : string|array
Decodes and decrypts a single value.
string | $value | The value to decode & decrypt. |
string|false | $encrypt | The encryption cipher to use. |
string|null | $key | Used as the security salt if specified. |
Decoded values.
None found |
_implode(array $array) : string
Implode method to keep keys are multidimensional arrays
array | $array | Map of key and values |
A json encoded string.
None found |
_explode(string $string) : string|array
Explode method to return array from string set in CookieComponent::_implode() Maintains reading backwards compatibility with 1.x CookieComponent::_implode().
string | $string | A string containing JSON encoded data, or a bare string. |
Map of key and values
None found |
_configRead(string|null $key) : mixed
Reads a config key.
string|null | $key | Key to read. |
None found |
_configWrite(string|array $key, mixed $value, boolean|string $merge = false) : void
Writes a config key.
string|array | $key | Key to write to. |
mixed | $value | Value to write. |
boolean|string | $merge | True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false. |
if attempting to clobber existing config
None found |
_configDelete(string $key) : void
Deletes a single config key.
string | $key | Key to delete. |
if attempting to clobber existing config
None found |
_load(string|array $key) : void
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.
string|array | $key | The key to load. |
None found |
_write(string $name, string $value) : void
Set cookie
string | $name | Name for cookie |
string | $value | Value for cookie |
None found |
_delete(string $name) : void
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.
string | $name | Name of cookie |
None found |