我是Symfony框架的第2版的新手.我用v1制作了一些项目,但现在试图了解新版本及其功能.我读过Bundles的概念,但它的目的还不是很清楚.
假设您有一个大型Web应用程序,例如CRM.捆绑包怎么样?它是NewsletterBundle(用于发送新闻简报),ContactManagementBundle(用于管理联系人),UserBundle(用于编辑用户及其权限).
或者它可以减少像EmailBundle(用于处理整个电子邮件流量),CRMBundle(用于放入所有CRM代码),PermissionsBundle,ApiBundle.
Ste*_*nte 20
我喜欢这样想:一个包应该代表一个项目的特定功能或一组相似的功能.
您的第一个示例是比第二个示例更好地使用bundle,因为每个bundle的用途更加明确.虽然可以将一个CRMBundle用于所有内容,但您不会真正利用Symfony组织代码的能力.此外,如果您想将新闻稿代码移植到新项目,而不是所有 CRM代码,您可以更轻松地复制NewsletterBundle而不是复制CRMBundle,然后修剪它.
在考虑Symfony2项目时,有时候你想要忘记你所知道的关于symfony 1.x的所有内容,因为它们采用了截然不同的方法来解决许多问题.例如,在symfony 1中,为项目构建"前端"和"后端"应用程序是很常见的,每个应用程序显然都包含特定于项目部分的逻辑.因此,您可能在前端和后端应用程序中都有一个Newsletter控制器.在Symfony2中,你最好只使用一个Newsletter包,但有两个控制器(可能名为'frontend'和'backend').同样,对此的直接好处是您的代码可重用的方式.
归档时间: |
|
查看次数: |
2062 次 |
最近记录: |