_session[$params['key']]); }; } /** * Read a value from the session. * * @param null|string $key Key of the entry to be read. If no key is passed, all * current session data is returned. * @param array $options Options array. Not used for this adapter method. * @return \Closure Function returning data in the session if successful, `false` otherwise. */ public function read($key = null, array $options = []) { return function($params) { if (!$params['key']) { return $this->_session; } return isset($this->_session[$params['key']]) ? $this->_session[$params['key']] : null; }; } /** * Write a value to the session. * * @param string $key Key of the item to be stored. * @param mixed $value The value to be stored. * @param array $options Options array. Not used for this adapter method. * @return \Closure Function returning boolean `true` on successful write, `false` otherwise. */ public function write($key, $value, array $options = []) { return function($params) { return (boolean) ($this->_session[$params['key']] = $params['value']); }; } /** * Delete value from the session * * @param string $key The key to be deleted * @param array $options Options array. Not used for this adapter method. * @return \Closure Function returning boolean `true` on successful delete, `false` otherwise */ public function delete($key, array $options = []) { return function($params) { unset($this->_session[$params['key']]); return !isset($this->_session[$params['key']]); }; } /** * Clears all keys from the session. * * @param array $options Options array. Not used for this adapter method. * @return \Closure Function that clears the session */ public function clear(array $options = []) { return function($params) { $this->_session = []; }; } /** * This adapter is always enabled, as it has no external dependencies. * * @return boolean True */ public static function enabled() { return true; } } ?>