Orm 如何在symfony中从配置文件设置targetEntity?

Orm 如何在symfony中从配置文件设置targetEntity?,orm,doctrine-orm,symfony,Orm,Doctrine Orm,Symfony,我正在构建bundle,我想在另一个应用程序中使用它。我创建了带有用户字段的实体,并希望使用必须实现AdvancedUserInterface的用户类生成配置选项。 在实体中,我使用此映射: /** * @ORM\ManyToOne(targetEntity="Symfony\Component\Security\Core\User\AdvancedUserInterface") */ private $author; 我知道我可以通过添加到config.yml来替换此接口 //confi

我正在构建bundle,我想在另一个应用程序中使用它。我创建了带有用户字段的实体,并希望使用必须实现AdvancedUserInterface的用户类生成配置选项。 在实体中,我使用此映射:

/**
 * @ORM\ManyToOne(targetEntity="Symfony\Component\Security\Core\User\AdvancedUserInterface")
 */
private $author;
我知道我可以通过添加到config.yml来替换此接口

//config.yml

doctrine:
    [...]
    orm:
        [...]
        resolve_target_entities:
            Symfony\Component\Security\Core\User\AdvancedUserInterface: Draconicka\FosUserBundle\Entity\FosUser
但我认为这不是一个好的解决方案。我想把这个类放到配置中的bundle部分。例如

//config.yml
[...]
nattle_demo:
    user_class: Draconicka\FosUserBundle\Entity\FosUser

这可能吗?或者更好的解决方案是覆盖此捆绑包并在每个应用程序中添加此字段?

我始终使用resolve taget entities—这是在捆绑包中填充targetEntity属性的简单方法。 有时,如果我需要将类全名(带命名空间)放在其他服务中,我会在配置中使用设置类。 例如,您希望检查authListener中的用户数据。AuthListener具有方法supportClass($class){return$class='\Your\Configured\class'}