使用旧捆绑包映射PHP Symfony2错误

时间:2011-12-16 20:57:03

标签: php namespaces symfony doctrine-orm

我正在学习Symfony2,我使用Doctrine2作为ORM。 除了一个错误,一切都很顺利。事实上,这个错误阻止了我,因为她也发生在每个页面和CLI中。

错误如下:

ErrorException: Warning: class_parents(): Class BumpMe\UserBundle\Entity\User does not exist and could not be loaded in /home/gp2mv3/www/bumpme/vendor/doctrine/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php line 223

用户实体位于UserBundle中,但我将其(文件)移动到另一个包(AppBundle)中。我重命名了文件和名称空间。 之后我删除了UserBundle而没有错误。

现在,经过大量的cli命令后,我就明白了......

我该如何解决这个问题? 这个错误来自哪里?

感谢。

3 个答案:

答案 0 :(得分:1)

我发现了错误! 我忘记了app/config/config.yml中的一个声明。

如果您遇到同样的错误,请重读每个文件,您可能会找到旧的未经编辑的声明。

# app/config/config.yml
fos_user:
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
    firewall_name: main
    # Allows you to enter the new user entity
    user_class: MyApp\Bundle\UserBundle\Entity\User
    # Used to enter the new registration form
    registration:
        form:
            type: myapp_user_registrationform

答案 1 :(得分:1)

我也有这个错误。

当我将用户从我的MainBundle移动到它自己的UserBundle(使用注释)时,我有一个旧的/Resources/config/doctrine/User.orm.yml文件潜伏着

答案 2 :(得分:0)

有点过时了,但我遇到了同样的错误,所以检查了config.yml(我根据'install'进行编辑),这里是最后一行:'Acme'用户加载,也许这个帮助有人:

fos_user:
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
    firewall_name: main
    user_class: Acme\UserBundle\Entity\User