<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace Zend\Session\SaveHandler;
use Zend\Cache\Storage\ClearExpiredInterface as ClearExpiredCacheStorage;
use Zend\Cache\Storage\StorageInterface as CacheStorage;
/**
* Cache session save handler
*/
class Cache implements SaveHandlerInterface
{
/**
* Session Save Path
*
* @var string
*/
protected $sessionSavePath;
/**
* Session Name
*
* @var string
*/
protected $sessionName;
/**
* The cache storage
* @var CacheStorage
*/
protected $cacheStorage;
/**
* Constructor
*
* @param CacheStorage $cacheStorage
*/
public function __construct(CacheStorage $cacheStorage)
{
$this->setCacheStorage($cacheStorage);
}
/**
* Open Session
*
* @param string $savePath
* @param string $name
* @return bool
*/
public function open($savePath, $name)
{
// @todo figure out if we want to use these
$this->sessionSavePath = $savePath;
$this->sessionName = $name;
return true;
}
/**
* Close session
*
* @return bool
*/
public function close()
{
return true;
}
/**
* Read session data
*
* @param string $id
* @return string
*/
public function read($id)
{
return $this->getCacheStorage()->getItem($id);
}
/**
* Write session data
*
* @param string $id
* @param string $data
* @return bool
*/
public function write($id, $data)
{
return $this->getCacheStorage()->setItem($id, $data);
}
/**
* Destroy session
*
* @param string $id
* @return bool
*/
public function destroy($id)
{
return $this->getCacheStorage()->removeItem($id);
}
/**
* Garbage Collection
*
* @param int $maxlifetime
* @return bool
*/
public function gc($maxlifetime)
{
$cache = $this->getCacheStorage();
if ($cache instanceof ClearExpiredCacheStorage) {
return $cache->clearExpired();
}
return true;
}
/**
* Set cache storage
*
* @param CacheStorage $cacheStorage
* @return Cache
*/
public function setCacheStorage(CacheStorage $cacheStorage)
{
$this->cacheStorage = $cacheStorage;
return $this;
}
/**
* Get cache storage
*
* @return CacheStorage
*/
public function getCacheStorage()
{
return $this->cacheStorage;
}
/**
* @deprecated Misspelled method - use getCacheStorage() instead
*/
public function getCacheStorge()
{
return $this->getCacheStorage();
}
}
# |
Change |
User |
Description |
Committed |
|
#1
|
18334 |
Liz Lam |
initial add of jambox |
|
|