当我尝试使用我的Entity类作为ORM用户提供时,MappingException

时间:2012-10-25 06:53:07

标签: symfony symfony-2.1

我有5个数据库连接,在config.yml中描述,并且映射:

orm:
    default_entity_manager: site
    entity_managers:
        site:
            connection: siteConfig
            mappings:
                CSSBundle: ~
        forum:
            connection: forumConfig
            mappings:
                IPBBridgeBundle: ~

我使用CSSBundle作为主要捆绑包和一些Entites,并使用IPBBridgeBundle通过IPB数据库(“论坛”EM)进行身份验证。 在IPBBridgeBundle中我有成员实体,我在security.yml中设置为用户提供者

providers:
    main:
        entity: { class: Telnet\IPBBridgeBundle\Entity\Member, property: username }

除了“/ login”,“/ ligin_check”和“/ logout”之外,CSSBundle处理的所有路由都由IPBBridgeBundle(LoginController)处理。当我试图去/我有

Fatal error: require_once(): Cannot redeclare class telnet\ipbbridgebundle\controller\logincontroller in /var/www/vhosts/css.ilimnet.ru/www/Symfony/vendor/jms/di-extra-bundle/JMS/DiExtraBundle/HttpKernel/ControllerInjectorsWarmer.php on line 52 

1 个答案:

答案 0 :(得分:1)

文件/var/www/vhosts/css.ilimnet.ru/www/Symfony/vendor/jms/di-extra-bundle/JMS/DiExtraBundle/HttpKernel/ControllerInjectorsWarmer.php

显然是在声明一个名为logincontroller的类。由于PHP中的类名称不区分大小写,因此它与您自定义的登录clontroller类冲突。

将您的登录控制器类名和文件重构为一个唯一的名称,您可以使用此名称。

上面提到的错误消息为您提供了第一个类出现的确切位置。

 Previously declared in ...