是否可以覆盖/扩展Symfony\Component\DependencyInjection\Container::get()
方法?我想要自动创建服务,当它不包含在容器中,但存在服务类。
例如:
服务名称为My.MyBundle.Model.FooRepository
使用此名称的服务不存在,但是当我打电话时:
$container->get('My.MyBundle.Model.FooRepository');
检查\My\MyBundle\Model\FooRepository
的class_exists,当它存在时,添加到容器并返回它。这些新服务的依赖关系将由kutny/autowiring-bundle
解决。
此功能只能扩展到某些命名空间或界面,并且在生产环境中可以缓存,但对于开发将是很好的帮手。
有什么想法吗?
答案 0 :(得分:0)
这不是直接回答你的问题,但也许它正在回应你的需求:如果你想在Symfony项目中进行“自动连接”,你可以在Symfony中使用PHP-DI。 PHP-DI是一个可以进行自动布线的替代容器(Symfony没有)。
查看Symfony 2 integration documentation,了解它是否适合您的账单。