/**
  * @param \Silex\Application $app
  *
  * @return void
  */
 public function boot(Application $app)
 {
     if (PHP_SAPI === 'cli') {
         return;
     }
     $this->client->setContainer($app['session']);
     $saveHandler = Config::get(SessionConstants::ZED_SESSION_SAVE_HANDLER);
     $savePath = $this->getSavePath($saveHandler);
     $sessionHelper = new SessionFactory();
     switch ($saveHandler) {
         case SessionConstants::SESSION_HANDLER_COUCHBASE:
             $savePath = !empty($savePath) ? $savePath : null;
             $sessionHelper->registerCouchbaseSessionHandler($savePath);
             break;
         case SessionConstants::SESSION_HANDLER_MYSQL:
             $savePath = !empty($savePath) ? $savePath : null;
             $sessionHelper->registerMysqlSessionHandler($savePath);
             break;
         case SessionConstants::SESSION_HANDLER_REDIS:
             $savePath = !empty($savePath) ? $savePath : null;
             $sessionHelper->registerRedisSessionHandler($savePath);
             break;
         case SessionConstants::SESSION_HANDLER_FILE:
             $savePath = !empty($savePath) ? $savePath : null;
             $sessionHelper->registerFileSessionHandler($savePath);
             break;
         default:
             if (isset($saveHandler) && !empty($saveHandler)) {
                 ini_set('session.save_handler', $saveHandler);
             }
             if (!empty($savePath)) {
                 session_save_path($savePath);
             }
     }
     ini_set('session.auto_start', false);
 }
Exemple #2
0
 /**
  * @param string $token
  *
  * @return \Generated\Shared\Transfer\UserTransfer|null
  */
 protected function readUserFromSession($token)
 {
     $key = $this->getSessionKey($token);
     return $this->session->get($key);
 }
Exemple #3
0
 /**
  * @param \Generated\Shared\Transfer\CustomerTransfer $customerTransfer
  *
  * @return \Generated\Shared\Transfer\CustomerTransfer
  */
 public function setCustomer(CustomerTransfer $customerTransfer)
 {
     $this->sessionClient->set(self::SESSION_KEY, $customerTransfer);
     return $customerTransfer;
 }