Symfony 2 可重用包

Symfony 2 reusable bundles

假设我想在位于 BlogBundle 的 Symfony 中创建一个博客。但是这个 BlogBu​​ndle 依赖于其他包,如 FOSUserBundle、KnpPaginator 包、FMBbCodeBundle 或我最终使用的任何东西。这是否意味着我不能真正在另一个项目中重用 BlogBu​​ndle。 symfony 食谱的 Best Practices for Reusable Bundles 章节说

A bundle must not embed third-party PHP libraries. It should rely on the standard Symfony autoloading instead.

但这到底是什么意思呢?我不能使用任何不是我编程的东西吗?

如果是这样的话,我将不得不重新发明轮子来解决我在开发捆绑包时遇到的最基本的问题。例如,我必须想出自己的分页器来对内容进行分页,创建自己的用户管理器等等。 我看不出这有什么意义,因为我会浪费我的时间来解决已经做得比我做得更好的问题。

或者食谱是否意味着我不能使用任何不在捆绑包中的东西。这对我来说更有意义。

真正让我恼火的是,没有人真正做过 blogbundle 或类似的东西,得到很好的反馈,并在顶部列表的任何地方被提及。我知道,Symfony 并不意味着有一个开箱即用的解决方案并且需要一些编码,但仍然如此。我能找到的所有似乎非常受欢迎的捆绑包都是那些执行诸如解析 BB 代码、处理用户管理和其他难以完成且乏味的事情的捆绑包,但从来没有比只完成一项任务更大的事情。

我希望你明白我的意思,并能帮助我解决我的问题。提前致谢!

A bundle must not embed third-party PHP libraries. It should rely on the standard Symfony autoloading instead.

这意味着您不应该将其他库的代码复制到您的 Bundle(目录)中。相反,您应该将它们作为依赖项添加到您的 composer.json.