PHP - symfony2 - Получение ошибки при проверке, установлен ли сеанс или нет

Проблема - я хочу проверить, установлен ли сеанс или нет в '__construct' 'Контроллера', но я получаю следующую ошибку -

FatalErrorException: ошибка компиляции: невозможно использовать isset() для результата вызова функции (вместо этого вы можете использовать "null!== func()")

Ниже приведен фрагмент кода, который находится в моем __construct.

function __construct() {

   $request = Request::createFromGlobals();
   $session = $request->getSession();
   if(!isset($session->get('id'))){
     $this->redirect('UserAuthBundle:Auth:login.html.twig');
   }

}

Если я использую '!= Null' вместо '! Isset', это выдает мне ошибку следующим образом:

FatalErrorException: ошибка: вызов функции-члена get() для необъекта

Есть ли другой альтернативный способ, чтобы это можно было реализовать.

Заранее спасибо.

2 ответа

Руководство говорит:

Предупреждение

isset() работает только с переменными, поскольку передача чего-либо еще приведет к ошибке разбора. Для проверки, установлены ли константы, используйте функцию define ().

if ($session->get("token") == $token) {

// user legit

}

или же

if ($this->container->get('session')->isStarted()) {

// user legit

}
Другие вопросы по тегам