Cake\Http\ResponseEmitter::emitCookies PHP Method

emitCookies() protected method

Emit cookies using setcookie()
protected emitCookies ( array $cookies ) : void
$cookies array An array of Set-Cookie headers.
return void
    protected function emitCookies(array $cookies)
    {
        foreach ((array) $cookies as $cookie) {
            if (strpos($cookie, '";"') !== false) {
                $cookie = str_replace('";"', "{__cookie_replace__}", $cookie);
                $parts = str_replace("{__cookie_replace__}", '";"', explode(';', $cookie));
            } else {
                $parts = preg_split('/\\;[ \\t]*/', $cookie);
            }
            list($name, $value) = explode('=', array_shift($parts), 2);
            $data = ['name' => urldecode($name), 'value' => urldecode($value), 'expires' => 0, 'path' => '', 'domain' => '', 'secure' => false, 'httponly' => false];
            foreach ($parts as $part) {
                if (strpos($part, '=') !== false) {
                    list($key, $value) = explode('=', $part);
                } else {
                    $key = $part;
                    $value = true;
                }
                $key = strtolower($key);
                $data[$key] = $value;
            }
            if (!empty($data['expires'])) {
                $data['expires'] = strtotime($data['expires']);
            }
            setcookie($data['name'], $data['value'], $data['expires'], $data['path'], $data['domain'], $data['secure'], $data['httponly']);
        }
    }