覆盖Doctrine EntityRepositoryGenerator& Symfony2中的EntityGenerator

时间:2014-08-25 07:41:54

标签: symfony doctrine-orm doctrine override generated-code

有没有办法覆盖Doctrines EntityRepositoryGenerator& Symfony2中的EntityGenerator? 由于一些Coding Guidlines,我想修改所使用的默认模板,当Entities&存储库类是通过控制台生成的。

我尝试在app \ Resources \ doctrine \ orm \ lib \ Doctrine \ ORM \ Tools中放置我自己的修改代码的类,但这似乎只适用于像Twig Templates,JS等Ressource Files。

自EntityRepositoryGenerator& EntityGenerator不是控制器,http://symfony.com/doc/current/cookbook/bundles/inheritance.html中描述的方法也不起作用吗?

您对如何实现目标有任何想法吗? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

不幸的是,Doctrine实体生成器依赖项是硬编码的,其实例在base DoctrineCommand class中初始化。

您可以实现自己的命令来构造所需的生成器,然后使用bundle继承将基本Doctrine命令替换为您的实现。有关如何执行此操作,请参阅the documentationthis SO question

如果以Doctrine\ORM\Tools\EntityGenerator作为模板开始,那么实施新生成器应该很容易。