Почему вы не передали SessionInterface в своем действии?Например:
public function showAction(SessionInterface $session)
{
$session->set('user_id', 1);
}
, поэтому в вашем контроллере 2 вы можете получить user_id следующим образом:
public function showAction(SessionInterface $session)
{
$session->get('user_id'); // You can test $session->has('user_id')
}
Если вы хотите создать конкретную сессию, создайте класс пользователя (или другой) сстатический метод getInstance и приватный конструктор.В тесте метода create, если сессия существует, если true, верните сессию, иначе вызовите конструктор.Вот пример:
public static function getInstance($new = false)
{
if(is_null(self::$_session)) {
self::$_session = new Session();
self::$_session->start();
}
if($new)
{
self::$_session->set('user_instance', new self(self::$_session));
return self::$_session->get('user_instance');
}
if(!self::$_session->has('user_instance')) {
self::$_session->set('user_instance', new self(self::$_session));
}
return self::$_session->get('user_instance');
}
Я надеюсь, что это поможет вам.