我有两个文件管理器dm1和dm2,以及一个名为AcmeBundle的软件包,在软件包中,我有很多类,一些以“FirstClass”开头,一些以“SecondClass”和其他一些类开头。例如我有
FirstClass1.php,
FirstClass2.php,
SecondClass1.php,
SecondClass2.php
Random.php
我需要的是类以“FirstClass”开头,“SecondClass”由dm1和dm2管理,其他类只由dm1管理
我尝试使用prifix
dm1:
connection: dm1
...
auto_mapping: false
mappings:
MyAcmeBundle: ~
dm2:
connection: dm2
...
auto_mapping: false
mappings:
MyAcmeBundle:
prefix: My\AcmeBundle\Document\FirstClass
但它只适用于一个前缀,如果我添加另一个前缀,它将无效。 谁知道怎么做?
答案 0 :(得分:0)
您可以为文档管理器定义多个映射,每个映射都有不同的前缀:
dm2:
connection: dm2
...
auto_mapping: false
mappings:
FirstClasses:
prefix: My\AcmeBundle\Document\FirstClass
SecondClasses:
prefix: My\AcmeBundle\Document\SecondClass
缺点是,如果你使用Bundle:DocumentName
符号,你需要记住正确的前缀,但是Doctrine与DocumentName::class
完全正常,这在我看来更清洁,并且更好地得到了PHPStorm的支持。