访问 config.php 中的实体管理器
Access to entity manager in config.php
在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()
return:
Attempted to call an undefined method named "getDoctrine" of class
"Symfony\Component\DependencyInjection\ContainerBuilder".
$container->get('doctrine')
return:
You have requested a non-existent service "doctrine"
$container->get('doctrine.orm.entity_manager')
return:
You have requested a non-existent service
"doctrine.orm.entity_manager"
不,这不可能。您无法访问构建步骤中的服务。
您可以使用 CompilerPass
来访问服务和调用方法或别名。
或者如果您只想将 EntityManager
传递给服务,请使用 Reference
class。
在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()
return:
Attempted to call an undefined method named "getDoctrine" of class "Symfony\Component\DependencyInjection\ContainerBuilder".
$container->get('doctrine')
return:
You have requested a non-existent service "doctrine"
$container->get('doctrine.orm.entity_manager')
return:
You have requested a non-existent service "doctrine.orm.entity_manager"
不,这不可能。您无法访问构建步骤中的服务。
您可以使用 CompilerPass
来访问服务和调用方法或别名。
或者如果您只想将 EntityManager
传递给服务,请使用 Reference
class。