在app / config / config.php中,我们可以:
$container->loadFromExtension('doctrine', array(
'dbal' => array(
'driver' => 'pdo_mysql',
'host' => '%database_host%',
'dbname' => '%database_name%',
'user' => '%database_user%',
'password' => '%database_password%',
),
));
但是可以在此文件中获取实体管理器吗?
$container->getDoctrine()
返回:
尝试调用名为" getDoctrine"的未定义方法。班级 " Symfony的\元器件\ DependencyInjection \ ContainerBuilder"
$container->get('doctrine')
返回:
您已请求不存在的服务" doctrine"
$container->get('doctrine.orm.entity_manager')
返回:
您已请求不存在的服务 " doctrine.orm.entity_manager"
答案 0 :(得分:1)
不,这是不可能的。您无法在构建步骤中访问服务。
您可以使用CompilerPass
来访问服务并调用方法或别名。
或者,如果您只想将EntityManager
传递给服务,请使用Reference
类。