2017-06-03 92 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,但它更像是一個學術練習,而不是一個即可使用的框架(它確實有效)