在zend布局中显示用户信息的最佳方式

时间:2011-09-05 08:47:33

标签: zend-framework zend-layout

我正在尝试在Zend Framework应用程序中显示有关用户的信息。我正在为所有控制器使用一个布局脚本(登录控制器除外)。现在我想显示有关登录用户的信息(此布局仅用于已登录用户的控制器)。

我想将检索用户信息的逻辑分成一些对象和查看将呈现信息的脚本。因此,将来我可以独立更改其中一个部分。

所以问题是实现这个目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

我正在为此目的使用动作助手。您可以检索用户信息并将其添加到视图中。这样的事情:

class My_LayoutHelper extends Zend_Controller_Action_Helper_Abstract {
    /**
     * Predispatch hook.
     */
    public function preDispatch()
    {
        $view = $this->getActionController()->view;

        // Get the user data from wherever you have them
        $userInfo = getUserInfo();

        // Inject it into the view
        $view->username = $userInfo->name;
    }
}

在布局脚本中,您可以编写

<?php echo $this->username; ?>

您需要的任何地方。

有关行动助手的更多信息,请访问:http://devzone.zend.com/article/3350

希望有帮助...