-1

ZendFramwork2 のエンティティ クラスでサービス マネージャを使用するにはどうすればよいですか? 私はそれを得ることができません。

Upd: ユーザーのエンティティ クラスを作成し、DB から追加データをロードするメソッドを作成します。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 に答える