我将 ZfcUser 设置为身份验证模块。该模块效果很好,除了我必须在每个操作中再次定义它:
$sm = $this->getServiceLocator();
$auth = $sm->get('zfcuser_auth_service');
if ($auth->hasIdentity()) {
fb($auth->getIdentity()->getEmail());
}
else return $this->redirect()->toRoute('zfcuser');
我尝试将代码放入构造中,但效果不佳。然后我检查了服务管理器,但无法使用所有出现的多个版本正确定义它。
这是我的 Module 类的代码:
public function getServiceConfig() {
return array(
'factories' => array(
'Todo\Model\TodoTable' => function($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$table = new TodoTable($dbAdapter);
return $table;
},
),
);
}
如何正确设置服务?