如何在Symfony2中创建存储不可知捆绑包

如何在Symfony2中创建存储不可知捆绑包,symfony,doctrine-orm,Symfony,Doctrine Orm,有人能解释一下如何在Symfony2中创建存储不可知包吗?互联网上没有关于它的文档,而且这个食谱:还不够 看看现有的捆绑包。这是一个很好的例子 基本上,您可以创建一个公共模型类,该类由特定于存储的实体或文档或其他扩展而成。同样的情况也适用于地图绘制程序和/或存储库(如果有的话) 避免重复和拥有可重用基础的一个好方法是使用Doctrine\Common,这是不可知的,并且由于明显的原因,您的基类与Doctrine ORM和ODM兼容 编辑以澄清: 上面的cookbook条目只是根据您的配置管理实际

有人能解释一下如何在Symfony2中创建存储不可知包吗?互联网上没有关于它的文档,而且这个食谱:还不够

看看现有的捆绑包。这是一个很好的例子

基本上,您可以创建一个公共模型类,该类由特定于存储的实体或文档或其他扩展而成。同样的情况也适用于地图绘制程序和/或存储库(如果有的话)

避免重复和拥有可重用基础的一个好方法是使用Doctrine\Common,这是不可知的,并且由于明显的原因,您的基类与Doctrine ORM和ODM兼容

编辑以澄清: 上面的cookbook条目只是根据您的配置管理实际使用的映射器、存储库、实体等,即您选择的持久化ORM、ODM、PHPCR。通过这种方式,如果其他bundle依赖于您的,例如UserManager,那么您总是将其与fos_user.user_manager一起公开,无论您实际使用的是您的ORMUserManager、ODMUserManager还是PHPCRUserManager。此外,您还可以为每个不同的配置提供存储特定帮助,例如某些EventListener