0

不久前我开始使用 symfony2 和教义。我有两个具有 JOINED 继承类型的类(子类和父类)。连接似乎工作正常,但如果我 doctrine:generate:entities 在子类上运行,则 Doctrine 会将所有父类方法和属性添加到它。此外,private尽管它们protected在父类中,但它们都被声明为 。

出于几个原因,我不想将所有这些东西添加到子类中。主要是:

  • 学说本身抱怨这种设置,说“受保护”符号不能重新声明为“私有”。这可以防止生成 SQL。
  • 我可能需要更改父类中的一些方法,并且确实希望将修改延续到子类。

所以问题是:

  1. 这种行为是正常的还是因为我犯了一个错误?
  2. 我如何阻止教义这样做?我不能在那个类上再次运行`doctrine:generate:entities`,但我很欣赏它所做的其他事情。
  3. 这是我不知道的设计模式吗?如果是这样,我很好奇它有什么好处,并且很高兴能更多地了解它。

谢谢大家!

4

1 回答 1

1

您遇到了 Doctrine 的限制,实体生成器无法生成具有继承的实体,如FAQ 中所述。您将不得不手动编辑它们。

于 2013-06-12T09:53:17.170 回答