-1

如何在 ZendFramwork2 的实体类中使用服务管理器?我就是不明白。

Upd:我创建用户实体类并创建方法,该方法从数据库加载有关它的附加数据。如果我有 serviceManager 的实例,我可以通过表类加载这些数据。但我无法得到这个实例。

在控制器中,我使用此代码

public function getNewsTable()
{
    if (!$this->newsTable)
    {
        $sm = $this->getServiceLocator();
        $this->newsTable = $sm->get('Application\Model\NewsTable');
    }
    return $this->newsTable;
}

在我使用的插件中

    public function getServiceManager()
{
    return $this->serviceManager->getServiceLocator();
}
public function setServiceManager(ServiceManager $serviceManager)
{
    $this->serviceManager = $serviceManager;
}

但是在实体类中它不起作用。

4

1 回答 1

0

实体类需要实现“ServiceLocatorAware”接口,由服务定位器获取。

于 2012-10-19T08:37:31.143 回答