lithium\storage\session\adapter\Cookie::delete PHP Method

delete() public method

Delete a value from the cookie store.
public delete ( string $key, array $options = [] ) : Closure
$key string The key to be deleted from the cookie store.
$options array Options array.
return Closure Function returning boolean `true` on successful delete, `false` otherwise.
    public function delete($key, array $options = array())
    {
        $config = $this->_config;
        $cookieClass = get_called_class();
        return function ($self, $params) use(&$config, $cookieClass) {
            $key = $params['key'];
            $path = '/' . str_replace('.', '/', $config['name'] . '.' . $key) . '/.';
            $cookies = current(Set::extract($_COOKIE, $path));
            if (is_array($cookies)) {
                $cookies = array_keys(Set::flatten($cookies));
                foreach ($cookies as &$name) {
                    $name = $key . '.' . $name;
                }
            } else {
                $cookies = array($key);
            }
            foreach ($cookies as &$name) {
                $name = $cookieClass::keyFormat($name, $config);
                $result = setcookie($name, "", 1, $config['path'], $config['domain'], $config['secure'], $config['httponly']);
                if (!$result) {
                    throw new RuntimeException("There was an error deleting {$name} cookie.");
                }
            }
            return true;
        };
    }