使用ZF2中的ServiceLocator和自定义类中的Doctrine 2?

时间:2012-11-22 04:47:36

标签: frameworks doctrine zend-framework2

我在Zend Framework 2中使用doctrine 2时遇到一些问题我有自定义类用于操纵学说生成的模型(基本上是为了注入数据和填充),为了使这项工作我需要实体管理器,这是通过服务经理,如Jason Grimes教程http://www.jasongrimes.org/2012/01/using-doctrine-2-in-zend-framework-2/所述。

在他的教程中它工作(我测试过),因为ServiceLocator是从控制器类调用的,但对于我正在编写的应用程序,我必须使用自定义(非控制器)类与实体进行交互。我如何实现这一目标?使用不是控制器的自定义类的servicelocator?提前谢谢大家

1 个答案:

答案 0 :(得分:1)

您需要执行两个步骤

  • 在自定义类中实施Zend\ServiceManager\ServiceLocatorAwareInterface。这允许框架为您注入服务定位器。

  • 将自定义类转换为服务并使用Service Manager检索它。该组件将检查该类是否实现ServiceLocatorAwareInterface并在返回实例之前注入ServiceLocator