Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace LeadersLinked\Handler;use Laminas\Db\Adapter\AdapterInterface;use Laminas\Log\LoggerInterface;use LeadersLinked\Mapper\SessionMapper;use Laminas\Session\SaveHandler\SaveHandlerInterface;class SessionHandler implements SaveHandlerInterface{/**** @var SessionMapper*/private $sessionMapper;/**** @var string*/private $session_name;/**** @var int*/private $session_lifetime;/**** @param AdapterInterface $adapter* @param LoggerInterface $logger* @param int $session_lifetime*/public function __construct(AdapterInterface $adapter, LoggerInterface $logger, int $session_lifetime){$this->sessionMapper = SessionMapper::getInstance($adapter, $logger);$this->session_lifetime = $session_lifetime;}public function open ($save_path, $session_name){$this->session_name = $session_name;return true;}public function close(){return true;}public function read($session_id){$session = $this->sessionMapper->fetchOne($session_id);if($session){return $session->data;}else{return '';}}public function write($session_id, $session_data){$session = $this->read($session_id);if($session) {return $this->sessionMapper->update($session_id, $session_data);} else {return $this->sessionMapper->insert($session_id, $this->session_name, $session_data, $this->session_lifetime);}}public function destroy($session_id){return $this->sessionMapper->delete($session_id);}public function gc($maxlifetime){return $this->sessionMapper->deleteAllExpired($maxlifetime);}}