Read & Write Cookies in CakePHP 3

Read & Write Cookies in CakePHP 3

The following example uses the Request & Response objects to save a cookie value.

Add these to your controller:

use Cake\Http\Cookie\Cookie;
use DateTime;


Below, we check to see if the cookie_id cookie is empty, and set it to a unique id, using the response object.

$cookie_id = $this->request->getCookie('cookie_id');
if(is_null($cookie_id) || $cookie_id == '') {
    $this->response = $this->response->withCookie('cookie_id', [
        'value' => uniqid(),
        'path' => '/',
        'httpOnly' => true,
        'secure' => false,
        'expire' => strtotime('+1 year')
    ]);
}


Then, when we want to read the value, simply use the request object, like below:

$this->request->getCookie('cookie_id')


See also: https://book.cakephp.org/3/en/controllers/request-response.html#cookies

See also: https://stackoverflow.com/questions/46156443/how-to-create-cookies-at-controller-level-in-cakephp-3-5

Share this Post