我正在尝试将Symfony 2与Doctrine 2一起使用。但我有以下问题:在创建了实际上既不是控制器也不是模型的类之后,我想使用getEntityManager()。但我怎么能得到这个?
提前Thx。
您需要将此类定义为服务,然后将实体管理器作为参数(在构造函数内部或通过setter)传递。
有关更多信息,请参阅Service Container文档。
类似这样的东西:
services:
my_hello_class:
class: Acme'HelloBundle'HelloClass
arguments: ["@doctrine.orm.entity_manager"]
然后这个类看起来是这样的:
// ....
class HelloClass
{
private $em;
public function __construct('Doctrine'ORM'EntityManager $em)
{
$this->em = $em;
// ....
}
}