我在使用Symfony2设置原则ORM配置时遇到了困难。我正在使用yml设置ORM文件。
我看过几个开源Symfony2项目(主要是Sylius),规范似乎是将实体放在捆绑包之外的一个名为组件的文件夹中,但将ORM定义放在捆绑包中。谁能建议一些有用的资源来帮助我设置这个?默认情况下,似乎需要我的实体在bundle中,而我不想这样做,因为我的一些实体有跨多个bundle的作用域。
我注意到在文档中你可以单独配置实体管理器,但我看不出下面的配置选项如何实现我所追求的,特别是因为实体可能不都共享相同的前缀:
mappings:
AcmeOrderBundle:
type: ~
dir: ~
alias: ~
prefix: ~
is_bundle: ~
如果有任何帮助,我将不胜感激,如果有必要,我可以提供更多的信息。
下面是一个使用几个选项的例子:
entity_managers:
games:
connection: games
mappings:
CeradGameBundle:
type: yml
dir: Resources/config/doctrine2
prefix: Cerad'Bundle'GameBundle'Doctrine'Entity
dir指向表单在哪里。Yml文件激活。如图所示,它是相对于bundle的。但是如果你愿意,你可以用一个绝对路径来替换它。
前缀基本上是实体的命名空间。
就多个前缀而言,您可以为给定的管理器创建多个映射。