Symfony 2 可重用 bundle

4
假设我想在Symfony中创建一个博客,它属于BlogBundle。但是这个BlogBundle依赖于其他bundle,如FOSUserBundle、KnpPaginator bundle、FMBbCodeBundle或者我最终使用的任何其他bundle。这是否意味着我不能在另一个项目中真正地重用BlogBundle。Symfony cookbook的Best Practices for Reusable Bundles章节说:
“bundle不应嵌入第三方PHP库。它应该依赖于标准的Symfony自动加载。”
但这到底是什么意思?我不能使用任何我没有编写的东西吗?
如果是这样,我将不得不为我在开发我的bundle时遇到的最基本的问题重新发明轮子。例如,我将不得不提供自己的paginator来分页内容,创建自己的用户管理器等等。我认为这没有意义,因为我会浪费时间去解决已经比我做得好得多的问题。
或者,食谱是指我不能使用不在bundle内的任何东西。这对我来说更有意义。
我很生气,因为似乎没有人做过类似的博客捆绑软件或其他获得好评并在排行榜中被提及的东西。我知道,Symfony并不意味着有一个只需开箱即用的解决方案,需要一些编程,但仍然如此。我能找到的所有似乎非常受欢迎的捆绑软件都是那些像解析BB Code、处理用户管理和其他难以做到的事情,但从来没有比只完成一个任务更大的东西。
我希望你明白我的意思,并能帮助我解决问题。谢谢!
1个回答

5

一个Bundle不应该嵌入第三方PHP库。它应该依赖于标准的Symfony自动加载。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接