Saya menggunakan FOSuserbundle untuk memulai dengan pendaftaran Pengguna https://github.com/FriendsOfSymfony/FOSUserBundle
Saya sudah mendaftar / masuk dan keluar. Yang ingin saya lakukan sekarang adalah mengambil data pengguna yang masuk dan menyajikannya di setiap halaman situs saya. Seperti "Hai nama pengguna" di jenis header.
Sepertinya menyematkan pengontrol di app / Resources / views / base.html.twig saya adalah cara terbaik untuk melakukan ini http://symfony.com/doc/current/book/templating.html#embedding-controllers
Jadi saya menulis pengontrol saya untuk mengakses data profil pengguna. Apa yang tidak saya ketahui adalah cara mengakses metode FOS di pengontrol tertanam saya. Jadi dari Acme / UserBundle / Controller / UserController.php saya, saya ingin melakukan ini:
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));
}
yang saya ambil dari: vendor / bundles / FOS / UserBundle / Controller / ProfileController.php