РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
164 of 1361 menu

Метод getUser

Метод getUser класса AbstractController возвращает объект пользователя, который авторизован в текущей сессии. Метод не принимает параметров. Если пользователь не авторизован, метод возвращает null. Полученный объект реализует интерфейс UserInterface.

Синтаксис

$user = $this->getUser();

Пример

Давайте получим текущего пользователя и выведем его email:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class UserController extends AbstractController { #[Route('/user/email', name: 'user_email')] public function email(): Response { $user = $this->getUser(); if ($user === null) { return new Response('guest'); } return new Response($user->getEmail()); } } ?>

Результат выполнения кода для авторизованного пользователя:

"user@example.com"

Пример

Давайте проверим, авторизован ли пользователь, и вернём разные ответы:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class UserController extends AbstractController { #[Route('/user/status', name: 'user_status')] public function status(): Response { $user = $this->getUser(); if ($user === null) { return new Response('guest'); } return new Response('user'); } } ?>

Результат выполнения кода для неавторизованного пользователя:

"guest"

Пример

Давайте получим имя текущего пользователя через метод getUserIdentifier:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class UserController extends AbstractController { #[Route('/user/name', name: 'user_name')] public function name(): Response { $user = $this->getUser(); if ($user === null) { return new Response('guest'); } return new Response($user->getUserIdentifier()); } } ?>

Результат выполнения кода для пользователя с именем 'abcde':

"abcde"

Смотрите также

  • класс AbstractController,
    который предоставляет базовые методы контроллера
  • метод isGranted,
    который проверяет права доступа пользователя
  • метод denyAccessUnlessGranted,
    который запрещает доступ при отсутствии прав
  • метод redirectToRoute,
    который выполняет перенаправление на маршрут
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить