是否可以从另一个模块访问实体/存储类,还是应该在每个需要它们的模块中创建相同的类?
感谢。
答案 0 :(得分:0)
您应该在模块的Module.php文件中,在getServiceConfig()方法下将存储类设置为“服务”。
public function getServiceConfig()
{
return array('factories' => array(
'user.storage' => function($sm) {
return new \UserModule\Storage\User($sm->get('datasource'));
}
);
}
现在服务'user.storage'存在于系统范围内,您可以使用$ sm-> get('user.storage')在任何其他服务声明中使用它,或者从控制器中调用getService()获得您的服务。
public function indexAction()
{
$us = $this->getService('user.storage');
$user = $us->getByID($this->getRouteParam('id'));
$this->render('UserModule:index:index.html.php', compact('user'));
}
希望这会有所帮助。感谢。