2012-11-22 57 views
0

我在使用Zend Framework 2中的doctrine 2時遇到了一些問題我有一個custome類,我使用它來操作doctrine生成的模型(基本上是爲了注入數據和填充),爲了使這項工作我需要通過服務可用的實體管理器經理如Jason Grimes教程在這裏指出http://www.jasongrimes.org/2012/01/using-doctrine-2-in-zend-framework-2/在ZF2中使用自定義類中/來自Doctrine 2的ServiceLocator?

在他的教程中,它起作用(我測試了它),因爲ServiceLocator是從控制器類中調用的,但對於我正在編寫的應用程序,我必須使用自定義(非控制器)類與實體進行交互。我如何實現這一目標?使用不是控制器的自定義類中的servicelocator?謝謝大家提前

回答

1

你需要做兩步

  • 實現Zend\ServiceManager\ServiceLocatorAwareInterface在你的自定義類。這允許框架爲您注入服務定位器。

  • 將您的自定義類轉換爲服務並使用服務管理器檢索它。此組件將檢查類是否實現ServiceLocatorAwareInterface並在返回實例之前注入ServiceLocator

+0

謝謝我會盡快測試並報告給大家以便能夠得到它! – EddardOmeka

+0

感謝它的工作! – EddardOmeka