Symfony 4中不鼓励使用捆绑软件,这是为什么?什么代替它们?

时间:2018-07-21 14:49:01

标签: symfony symfony4 bundles

在练习Symfony 4.1时,我在捆绑软件页面上注意到了它的说法:(https://symfony.com/doc/current/bundles.html

  

在4.0之前的Symfony版本中,建议整理您的   使用捆绑包拥有自己的应用程序代码。不再建议这样做,   捆绑包仅应用于在之间共享代码和功能   多个应用程序。

这是为什么?替换束是什么?只需在一个“ App”捆绑包内创建目录?

那么,仅仅一个子文件夹就可以代替捆绑包吗?

2 个答案:

答案 0 :(得分:1)

您的问题的答案写在本页here on symfony site的底部。 总结

  

但是捆绑软件是指可以作为独立软件重用的东西。如果不能在其他Symfony应用程序中按原样使用UserBundle,则不应将其作为自己的捆绑软件。而且,如果InvoiceBundle依赖于ProductBundle,那么拥有两个单独的捆绑包就没有任何优势。

然后

  

请勿创建任何捆绑包来组织您的应用程序逻辑。

     

Symfony应用程序仍然可以使用第三方捆绑软件(安装在vendor /中)来添加功能,但是您应该使用PHP名称空间而不是捆绑软件来组织自己的代码。

所以回答你的问题 “那么,仅仅一个子文件夹就能代替捆绑包?”是!如果它是可被其他应用程序使用的可重用代码段,则将其捆绑在一起;否则,如果它只是用来组织应用程序,则使用文件夹(带有名称空间)。

答案 1 :(得分:0)

您可以在此处查看演示应用-> https://github.com/symfony/demo