在我的Symfony2应用程序中,我有一个非常基本的包名为AnimalsBundle(),其中包含一个非常基本的实体.
我可以通过Bundle Inheritance创建一个新的MammalsBundle()包来成功扩展这个包.但是,不可能再注册另一个也扩展了AnimalsBundle()的包InsectsBundle().每当我试图这样做时,Symfony都会抛出一个
[LogicException]
Bundle “AnimalsTextBundle” is directly extended by two bundles “MammalsBundle” and “InsectsBundle”.
开箱即用它显然是不允许的.首先,我不确定为什么不允许这样做 – 最重要的是 – 我该如何解决这个问题?
最佳答案 我知道这已经超过了一年,但我刚刚遇到了你的问题,答案可能对某人有用..
Symfony不允许捆绑包直接由多个捆绑包扩展,只是因为如果两个捆绑包覆盖相同的文件,则无法确定应该使用哪个捆绑包.但是,通过执行以下操作,您可以实现所需的目标:
AnimalsBundle< | —- MammalsBundle< | —– InsectsBundle 这样InsectsBundle间接将AnimalBundle作为父级,并可以覆盖它的文件.