使用Symfony依赖注入更改Pimple

时间:2017-06-03 13:12:10

标签: symfony dependency-injection silex

有没有办法将Pimple与Symfony依赖注入交换?

我可以使用Symfony依赖注入作为Silex的独立包,但我需要将Pimple与它交换,因为我无法访问从Silex注册Symfony依赖注入的控制器,如:

{{1}}

1 个答案:

答案 0 :(得分:1)

不,你不能。当Silex主类从Pimple本身扩展时,Silex不允许更改容器。如果你需要Symfony容器,你应该使用Symfony而不是Silex。

你可以解决一个解决方案,其中每个对Pimple的调用都转发给DIC(Pimple只是一种代理服务),但我不会走这条路。

请记住,即将推出的Symfony 4(将于11月到期,但有一个preview already aviable),该框架将更像是Silex:而不是拥有它并删除你不喜欢的部分&#39 ;使用,您将从小处开始,并将组件/包/库添加到您的项目中(请查看Symfony flex)。

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