假设我想在 Symfony 中创建一个位于 BlogBundle
中的博客。但是这个 BlogBundle 依赖于其他包,如 FOSUserBundle、KnpPaginator 包、FMBbCodeBundle 或我最终使用的任何东西。这是否意味着我不能真正在另一个项目中重用 BlogBundle。 Best Practices for Reusable Bundles symfony 食谱的章节说
A bundle must not embed third-party PHP libraries. It should rely on the standard Symfony autoloading instead.
但这到底是什么意思呢?我不能使用任何不是我编程的东西吗?
如果是这样的话,我将不得不重新发明轮子来解决我在开发 bundle 时遇到的最基本的问题。例如,我必须想出自己的分页器来对内容进行分页,创建自己的用户管理器等等。 我不认为这样做有什么意义,因为我会浪费我的时间来解决已经做得比我做得更好的问题。
或者食谱是否意味着我不能使用任何不在 bundle 中的东西。这对我来说更有意义。
真正让我恼火的是,没有人真正做过 blogbundle 或类似的东西,得到很好的反馈,并在顶部列表的任何地方被提及。我知道,Symfony 并不意味着有一个开箱即用的解决方案并且需要一些编码,但仍然如此。我能找到的所有似乎非常受欢迎的 bundle 都是那些执行诸如解析 BB 代码、处理用户管理和其他难以完成且乏味的事情的 bundle ,但没有比只完成一项任务更大的事情了。
我希望你明白我的意思,并能帮助我解决我的问题。提前致谢!
最佳答案
A bundle must not embed third-party PHP libraries. It should rely on the standard Symfony autoloading instead.
这意味着您不应该将其他库的代码复制到您的 Bundle(目录)中。相反,您应该将它们作为依赖项添加到您的 composer.json
。
关于php - Symfony 2 可重用包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36363958/