Tôi đang sử dụng FOSuserbundle để bắt đầu với Đăng ký người dùng https://github.com/FriendsOfSymfony/FOSUserBundle
Tôi đã đăng ký / đăng nhập và đăng xuất. Điều tôi muốn làm bây giờ là lấy dữ liệu người dùng đã đăng nhập và trình bày nó trên mọi trang trên trang web của tôi. Giống như "Xin chào tên người dùng" trong loại tiêu đề của điều.
Có vẻ như nhúng bộ điều khiển vào ứng dụng của tôi / Resources / views / base.html.twig là cách tốt nhất để thực hiện việc này http://symfony.com/doc/current/book/templating.html#embedding-controllers
Vì vậy, tôi đã viết bộ điều khiển của mình để truy cập dữ liệu hồ sơ người dùng. Những gì tôi không thể tìm ra là làm thế nào để truy cập các phương thức FOS trong bộ điều khiển nhúng của tôi. Vì vậy, từ Acme / UserBundle / Controller / UserController.php của tôi, tôi muốn làm điều này:
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));
}
mà tôi lấy từ: nhà cung cấp / gói / FOS / Nhóm người dùng / Bộ điều khiển / Hồ sơController.php