2017-06-03 59 views
0

有没有办法用Symfony依赖注入交换Pimple?用Symfony依赖注入更改疙瘩

我可以使用Symfony的依赖注入作为一个独立的包Silex的,但我需要换疙瘩它,因为我不能访问与Symfony的依赖注入从Silex的像注册控制器:

$app->get('/route', 'testController:indexAction'); 

回答

1

不,你可以“T。 Silex不允许更改容器,因为Silex主类从Pimple本身扩展而来。如果你需要Symfony容器,你应该使用Symfony而不是Silex。

你可以破解一个解决方案,在这个解决方案中,每次对Pimple的调用都被转发给DIC(Pimple只是一种代理服务),但我不会去那条路径。请注意,随着即将到来的Symfony 4(11月份到期,但有preview already aviable),该框架将更像Silex:不是全部使用,而是移除不使用的部件将从小处开始,并将组件/软件包/库添加到您的项目中(请查看Symfony flex)。

最后,作为一个附注/有趣的事实,有一个来自igorw(Silex的共同作者之一)的项目,它用Symfony DIC组件取代了Pimple,但它更像是一个学术练习,而不是一个即可使用的框架(它确实有效)