Symfony2 DoctrineFixturesBundle命名空间错误

时间:2012-03-11 17:14:49

标签: php doctrine symfony fixtures

我遇到了一个我无法解决的灯具问题。一世 按照要遵循的步骤,添加行 deps文件,安装它们,在autoload中注册它们 appkernel。

当我尝试仅运行app/console时,它会打破:

Fatal error: Class 'Doctrine\Bundle\DoctrineBundle\Command\DoctrineCommand' not found in /var/www/.../bundles/Doctrine/Bundle/FixturesBundle/ Command/LoadDataFixturesDoctrineCommand.php on line 40

这似乎是正确的,因为我没有DoctrineBundle目录 在Doctrine\Bundle下,只有DoctrineFixturesBundle。 如果我将该行更改为Symfony\Bundle\DoctrineBundle\...则可行 完美,因为该类实际上位于该命名空间下。

当然我不能这样离开。 我搜索了文档,问题,一切,但似乎 没有人有同样的问题,所以我必须错过一些明显的问题 点这里。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:5)

不久前,所有Doctrine bundles moved to the Doctrine organizaton。这会根据您正在使用的存储库和分支导致一些混淆。

如果你使用的是Symfony 2.0.x,那么你的deps应该是这样的:

[DoctrineFixturesBundle]
    git=http://github.com/doctrine/DoctrineFixturesBundle.git
    target=bundles/Symfony/Bundle/DoctrineFixturesBundle
    version=origin/2.0

请注意,目标/命名空间实际上是Symfony\Bundle\DoctrineFixturesBundle


但是,在使用Symfony 2.0.x的最新DoctrineFixturesBundle时,您应该没有任何问题 - 只要您还升级其余的Doctrine依赖项。您可以在deps中使用此代码:

[doctrine-common]
    git=http://github.com/doctrine/common.git
    version=2.2.0

[doctrine-dbal]
    git=http://github.com/doctrine/dbal.git
    version=2.2.1

[doctrine]
    git=http://github.com/doctrine/doctrine2.git
    version=2.2.0

[doctrine-fixtures]
    git=http://github.com/doctrine/data-fixtures.git

[DoctrineFixturesBundle]
    git=http://github.com/doctrine/DoctrineFixturesBundle.git
    target=bundles/Doctrine/Bundle/FixturesBundle