受到 Ocramius 和 Bram 答案的启发,我深入研究了 ZF View Helpers。tadaa:事实证明,ZF2 已经带有一个 Helper 来访问任何 View Model 中的用户身份。View Helper 简称为identity
。
为了让它工作,你需要添加Zend\Authentication\AuthenticationService
到可调用类的列表中(不知道,为什么这不是默认的),例如在你的config/autoload/global.php中:
return array(
'service_manager' => array(
'invokables' => array(
'Zend\Authentication\AuthenticationService' => 'Zend\Authentication\AuthenticationService',
),
),
);
之后,您可以轻松地从任何模板访问当前用户的身份:
<p>Hello <?php echo $this->identity()->getName() ?></p>
再次感谢 Ocramius 让我走上正轨!如果您不使用 Zend\Authentication\AuthenticationService 他的回答仍然适用。