मैं उपयोगकर्ता पंजीकरण https://github.com/FriendsOfSymfony/FOSUserBundle के साथ आरंभ करने के लिए FOSuserbundle का उपयोग कर रहा हूं
मुझे इसमें पंजीकरण और लॉग इन / आउट करना पड़ा है। अब मैं जो करना चाहता हूं वह लॉग इन यूजर्स के डेटा को हड़प लेता है और अपनी साइट के हर पेज पर प्रस्तुत करता है। हेडर प्रकार में "हाय यूज़रनेम" की तरह।
ऐसा लगता है कि मेरे ऐप / रिसोर्स / व्यूज़ / base.html.twig में किसी कंट्रोलर को एम्बेड करना यह http://symfony.com/doc/current/book/templating.html#embedding-controllers करने का सबसे अच्छा तरीका है
इसलिए मैंने उपयोगकर्ता प्रोफ़ाइल डेटा तक पहुंचने के लिए अपने नियंत्रक को लिखा। मैं समझ नहीं पा रहा हूं कि अपने एम्बेडेड नियंत्रक में FOS विधियों का उपयोग कैसे किया जाए। तो मेरे Acme / UserBundle / नियंत्रक / 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));
}
जिसे मैंने से पकड़ा: विक्रेता / बंडलों / FOS / UserBundle / नियंत्रक / ProfileController.php