3 回答
TA贡献1817条经验 获得超6个赞
我建议创建一个DateDisplayerBundle和PaginatorBundle,而不是将它们的相关代码放在更通用的捆绑软件中。这有几个原因:
每个捆绑软件的作用非常明确,您知道代码在哪里。
当您有单独的捆绑包时,在一个不同项目之间共享功能块(日期显示器,分页器)会更简单,而您可能需要修剪一个捆绑包。
没有硬性规定说捆绑软件必须有控制器。捆绑包可以包含业务逻辑,模板,控制器和配置的任何组合,但是对您可以在其中存储的内容没有任何限制。
另一方面,如果您的功能不是很复杂,则可能根本不保证将其包含在捆绑软件中。在这种情况下,您可以为其创建一个库/vendor
。Symfony以这种方式使用了许多库(例如,参见Monolog和Doctrine。)
关于第二个问题,我认为保留布局的原因app\Resources\views
是因为它是您跟踪所有布局的便捷方式。当您的项目包含许多捆绑销售商品时,您可能会忘记某个布局的位置。但是,如果将它们全部放在一个集中的位置,您将始终确切知道要看的位置。与Symfony2中的许多事情一样,这不是一成不变的规则。您可以轻松地将布局存储在捆绑中,但是我不建议这样做。
至于关于一般Root捆绑包的问题,我想说在大多数情况下,您应该避免在一个捆绑包中拖弄一堆其他功能。请参阅我先前的有关保持捆绑软件特定性的观点。当我开始使用Symfony2进行开发时,在确定应将哪些代码放入哪个包中时遇到了一些麻烦。这不是我习惯于思考编程的方式。但是最终您开始看到拼图的各个部分如何匹配,这使确定捆绑结构变得更加容易。
TA贡献1827条经验 获得超8个赞
您的观点很不错,但我强烈不同意您关于将某些内容放入vendor
文件夹的建议。此文件夹在您的存储库中应被忽略,正在创建并用bin/vendors
脚本填充。
- 3 回答
- 0 关注
- 395 浏览
添加回答
举报