사용자 등록을 시작하기 위해 FOSuserbundle을 사용하고 있습니다. https://github.com/FriendsOfSymfony/FOSUserBundle
등록 / 로그인 및 로그 아웃했습니다. 지금하고 싶은 것은 로그인 한 사용자 데이터를 가져와 내 사이트의 모든 페이지에 표시하는 것입니다. 헤더 유형의 "Hi username"처럼.
내 app / Resources / views / base.html.twig에 컨트롤러를 포함하는 것이 http://symfony.com/doc/current/book/templating.html#embedding-controllers 를 수행하는 가장 좋은 방법 인 것 같습니다 .
그래서 사용자 프로필 데이터에 액세스하기 위해 컨트롤러를 작성했습니다. 내가 알아낼 수없는 것은 내 임베디드 컨트롤러에서 FOS 메서드에 액세스하는 방법입니다. 그래서 내 Acme / UserBundle / Controller / UserController.php에서 이렇게하고 싶습니다.
public function showAction()
{
$user = $this->container->get('security.context')->getToken()->getUser();
if (!is_object($user) || !$user instanceof UserInterface) {
throw new AccessDeniedException(
'This user does not have access to this section.');
}
return $this->container->get('templating')
->renderResponse('FOSUserBundle:Profile:show.html.'.$this->container
->getParameter('fos_user.template.engine'), array('user' => $user));
}
내가 가져온 : vendor / bundles / FOS / UserBundle / Controller / ProfileController.php