示例#1
0
 /**
  * @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']));
     }
 }
示例#2
0
 /**
  * @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 : []);
 }