我在Zend Framework 2中使用doctrine 2时遇到一些问题我有自定义类用于操纵学说生成的模型(基本上是为了注入数据和填充),为了使这项工作我需要实体管理器,这是通过服务经理,如Jason Grimes教程http://www.jasongrimes.org/2012/01/using-doctrine-2-in-zend-framework-2/所述。
在他的教程中它工作(我测试过),因为ServiceLocator是从控制器类调用的,但对于我正在编写的应用程序,我必须使用自定义(非控制器)类与实体进行交互。我如何实现这一目标?使用不是控制器的自定义类的servicelocator?提前谢谢大家
答案 0 :(得分:1)
您需要执行两个步骤
在自定义类中实施Zend\ServiceManager\ServiceLocatorAwareInterface
。这允许框架为您注入服务定位器。
将自定义类转换为服务并使用Service Manager检索它。该组件将检查该类是否实现ServiceLocatorAwareInterface并在返回实例之前注入ServiceLocator