Получить текущего пользователя в Symfony

Чтобы получить текущего пользователя в Symfony, вы можете использовать различные методы в зависимости от вашего конкретного варианта использования. Вот несколько примеров:

  1. Использование компонента безопасности:

    use Symfony\Component\Security\Core\Security;
    class YourController extends AbstractController
    {
    public function yourAction(Security $security)
    {
        $user = $security->getUser();
        // ...
    }
    }
  2. Доступ к пользователю в службе:

    use Symfony\Component\Security\Core\Security;
    class YourService
    {
    private $security;
    public function __construct(Security $security)
    {
        $this->security = $security;
    }
    public function someMethod()
    {
        $user = $this->security->getUser();
        // ...
    }
    }
  3. Использование хранилища токенов:

    use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
    class YourService
    {
    private $tokenStorage;
    public function __construct(TokenStorageInterface $tokenStorage)
    {
        $this->tokenStorage = $tokenStorage;
    }
    public function someMethod()
    {
        $token = $this->tokenStorage->getToken();
        if ($token) {
            $user = $token->getUser();
            // ...
        }
    }
    }

Это всего лишь несколько примеров того, как можно получить текущего пользователя в Symfony. Подходящий метод может зависеть от вашего конкретного варианта использования и версии Symfony.