lithium\storage\Session::clear PHP Method

clear() public static method

Clears all keys from a single adapter (if a 'name' options is specified) or all session adapters.
public static clear ( array $options = [] )
$options array Optional parameters that this method accepts: - `'name'` _string_: To force the write to a specific adapter, specify the name of the configuration (i.e. `'default'`) here. - `'strategies'` _boolean_: Indicates whether or not a configuration's applied strategy classes should be enabled for this operation. Defaults to `true`.
    public static function clear(array $options = array())
    {
        $defaults = array('name' => null, 'strategies' => true);
        $options += $defaults;
        $methods = array();
        if ($name = $options['name']) {
            $methods = array($name => static::adapter($name)->clear($options));
        } else {
            foreach (static::$_configurations as $name => $config) {
                if ($method = static::adapter($name)->clear($options)) {
                    $methods[$name] = $method;
                }
            }
        }
        $params = compact('options');
        $result = false;
        foreach ($methods as $name => $method) {
            $settings = static::_config($name);
            $filters = $settings['filters'];
            $result = static::_filter(__FUNCTION__, $params, $method, $filters) || $result;
        }
        if ($options['strategies']) {
            $options += array('mode' => 'LIFO', 'class' => __CLASS__);
            return static::applyStrategies(__FUNCTION__, $name, $result, $options);
        }
        return $result;
    }

Usage Example

 public function testEncryptStrategyWithPhpAdapter()
 {
     $config = array('name' => 'encryptInt');
     Session::config(array($config['name'] => array('adapter' => 'Php', 'strategies' => array('Encrypt' => array('secret' => 's3cr3t')))));
     Session::clear($config);
     $key = 'test';
     $value = 'value';
     $this->assertTrue(Session::write($key, $value, $config));
     $this->assertEqual($value, Session::read($key, $config));
     $this->assertTrue(Session::delete($key, $config));
     $this->assertNull(Session::read($key, $config));
     Session::clear($config);
     $this->assertTrue(Session::write('foo', 'bar', $config));
     $this->assertEqual('bar', Session::read('foo', $config));
     $this->assertTrue(Session::write('foo', 'bar1', $config));
     $this->assertEqual('bar1', Session::read('foo', $config));
     Session::clear($config);
     $this->assertTrue(Session::write($key, $value, $config));
     $this->assertEqual($value, Session::read($key, $config));
 }
All Usage Examples Of lithium\storage\Session::clear