Php 如何在Symfony2中将变量从一个页面传递到另一个页面

Php 如何在Symfony2中将变量从一个页面传递到另一个页面,php,symfony,variables,Php,Symfony,Variables,我有一个登录页面,当登录时,返回一个欢迎页面,页面上有用户的名字。 我使用以下代码将变量$user传递到欢迎页面: return $this->render('LoginLoginBundle:Default:welcome.html.twig', array('user' => $user)); <li><a href="{{path('login_login_managerPage')}}">Manager</a></li> 现

我有一个登录页面,当登录时,返回一个欢迎页面,页面上有用户的名字。 我使用以下代码将变量$user传递到欢迎页面:

return $this->render('LoginLoginBundle:Default:welcome.html.twig', array('user' => $user));
<li><a href="{{path('login_login_managerPage')}}">Manager</a></li>
现在在欢迎页面上有一个导航,上面有指向manager.html.twig的链接

这是欢迎页面上链接的代码:

return $this->render('LoginLoginBundle:Default:welcome.html.twig', array('user' => $user));
<li><a href="{{path('login_login_managerPage')}}">Manager</a></li>
它指向管理操作:

public function managerAction(Request $request) {
    $session = $this->getRequest()->getSession();
    $em = $this->getDoctrine()->getEntityManager();
    $repository = $em->getRepository('LoginLoginBundle:User');
    if ($session->has('login')) {
        $login = $session->get('login');
        $username = $login->getUsername();
        $password = $login->getPassword();
        $user = $repository->findOneBy(array('username' => $username, 'password' => $password));
        if ($user) {
            return $this->render('LoginLoginBundle:Default:manager.html.twig', array('user' => $user));
        }
    }
    return $this->render('LoginLoginBundle:Default:login.html.twig');
}
现在我无法将$user获取到manager页面。如何在页面之间正确传递

编辑: 我编辑了代码,但现在出现以下错误:

Impossible to access an attribute ("username") on a NULL variable ("") in LoginLoginBundle:Default:welcome.html.twig at line 10 

我建议您不要编写自己的安全系统,而是使用Symfony自己的安全组件,它已经完成了所有重要的事情。请仔细阅读此链接:

从这里开始,它展示了如何从数据库中获取用户。 如果您使用symfony的安全组件,那么您将能够获得当前登录用户,如下所示:

public function indexAction()
{
    $user = $this->get('security.context')->getToken()->getUser();
}
在控制器中,这可以是到以下位置的快捷方式:

public function indexAction()
{
    $user = $this->getUser();
}
如果您使用的是细枝,则为模板中的最后一个:

<p>Username: {{ app.user.username }}</p>
用户名:{{app.user.Username}


我在尝试您的答案时遇到了这个错误:无法访问LoginLoginBundle中空变量(“”)上的属性(“用户名”):默认值:第10行的welcome.html.twig