/** * @param \Wandu\Http\Contracts\SessionInterface $session * @param \Wandu\Http\Contracts\CookieJarInterface $cookieJar */ public function toCookieJar(SessionInterface $session, CookieJarInterface $cookieJar) { $sessionName = $this->config['name']; $this->adapter->write($session->getId(), $session->toArray()); if (!$cookieJar->has($sessionName)) { $sessionId = $this->generateId(); $cookieJar->set($sessionName, $sessionId, (new DateTime())->setTimestamp(time() + $this->config['timeout'])); } }
/** * @param \Wandu\Http\Contracts\CookieJarInterface $cookieJar * @return \Wandu\Http\Contracts\SessionInterface */ public function fromCookieJar(CookieJarInterface $cookieJar) { $sessionName = $this->config['name']; if ($cookieJar->has($sessionName)) { $sessionId = $cookieJar->get($sessionName); } else { $sessionId = $this->generateId(); } $data = @unserialize($this->handler->read($sessionId)); return new Session($sessionId, $data ? $data : []); }