Symfony2 DoctrineFixturesBundle 命名空间错误
我无法解决固定装置包的一个大问题.一世按照应遵循的步骤进行操作,将行添加到deps 文件,安装它们,在自动加载中注册它们和应用内核.
I have a big problem with the fixtures bundle which I can't resolve. I follow the steps as they are meant to be followed, adding the lines to the deps file, installing them, registering them in the autoload and appkernel.
当我尝试只运行 app/console
时,它会中断:
When I try to run even only app/console
, it breaks with:
致命错误:类 'DoctrineBundleDoctrineBundleCommandDoctrineCommand'在/var/www/.../bundles/Doctrine/Bundle/FixturesBundle/中找不到第 40 行的 Command/LoadDataFixturesDoctrineCommand.php
这似乎是正确的,因为我没有 DoctrineBundle 目录在 DoctrineBundle
下,只有 DoctrineFixturesBundle
.如果我将该行更改为 SymfonyBundleDoctrineBundle...
它可以工作完美,因为该类实际上位于该名称空间下.
Which seems right because I don't have a DoctrineBundle directory
under DoctrineBundle
, only the DoctrineFixturesBundle
.
If I change that line to SymfonyBundleDoctrineBundle...
it works
perfectly, because that class resides under that namespace actually.
我当然不能这样.我搜索了文档、问题、所有内容,但似乎没有人有同样的问题,所以我一定遗漏了一些明显的点这里.
Of course I can't leave it that way. I searched through the documentation, issues, everything, but it seems that noone has this same issue, so I must be missing some obvious point here.
有什么想法吗?
谢谢
推荐答案
不久前,所有 Doctrine 包移到了 Doctrine 组织.根据您使用的存储库和分支,这会导致一些混淆.
Not long ago, all Doctrine bundles moved to the Doctrine organizaton. This causes some confusion based on which repository and branch you are using.
如果您使用的是 Symfony 2.0.x,那么您的 deps
应该如下所示:
If you're using Symfony 2.0.x, then your deps
should look something like this:
[DoctrineFixturesBundle]
git=http://github.com/doctrine/DoctrineFixturesBundle.git
target=bundles/Symfony/Bundle/DoctrineFixturesBundle
version=origin/2.0
注意目标/命名空间实际上是 SymfonyBundleDoctrineFixturesBundle
.
Notice the target/namespace is actually SymfonyBundleDoctrineFixturesBundle
.
然而,使用最新的 DoctrineFixturesBundle
和 Symfony 2.0.x 应该不会有任何问题——只要你也升级其余的 Doctrine 依赖项.您可以在 deps
中使用它:
However, you shouldn't have any problems using the latest DoctrineFixturesBundle
with Symfony 2.0.x - as long as you upgrade the rest of the Doctrine dependencies also. You can use this in your deps
instead:
[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
相关文章