Symfony 3 - Использовать переменные сеанса? - PullRequest
0 голосов
/ 17 апреля 2019

Я хотел бы использовать переменные сеанса для своего сайта.

Я сделал:

$request = new Request();

    $session = $request->getSession();

    if ($session == null)
    {
        $session = new Session();
    }
$session->set('typeAuth','cas');

Но в моем контроллере, когда я вызываю эту переменную сеанса с помощью:

    $typeAuth = $_SESSION->get('typeAuth');

У меня есть:

Примечание: неопределенная переменная: сессия

И я не понимаю, почему

1 Ответ

0 голосов
/ 17 апреля 2019

Вы можете напрямую добавить SessionInterface в свой конструктор, затем использовать его как свойство вашего сервиса.

Например:

use Symfony\Component\HttpFoundation\Session\SessionInterface; // <--- use this namespace

class AuthCasService extends AuthAbstract implements AuthInterface {

    private $serializer;
    private $session;

    // Inject the SessionInterface ----------------------------------------------------------V-----------------------V
    public function __construct(EntityManagerInterface $em, SerializerInterface $serializer, SessionInterface $session)
    {
        $this->em = $em;
        $this->serializer = $serializer;
        $this->session = $session;
    }

    // Your methods ...
}

, а затем в своем методе удалить$session = $request->getSession(); и используйте $this->session->set('foo', 'bar');

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