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
}