安装symfony2包(DoctrineCouchDBBundle)

时间:2011-07-14 10:43:54

标签: php symfony doctrine doctrine-orm

我希望将软件包安装到我的symfony项目中。但是,我遇到了一些问题。请接受我的无知,如果答案是微不足道的,但我已经尝试寻找解决方案,但唉,我什么也没找到。

在我的 deps 文件中,我有:

[doctrine-couchdb]
  git=http://github.com/doctrine/couchdb-odm.git
[DoctrineCouchDBBundle]
  git=http://github.com/doctrine/DoctrineCouchDBBundle.git
  target=/bundles/Symfony/Bundle/DoctrineCouchDBBundle

我运行 bin / vendors install 命令

autoload.php 文件中,我有:

'Doctrine\\ODM\\CouchDB'=> __DIR__.'/../vendor/doctrine-couchdb/lib',

我已经注册了这个包:

new Doctrine\Bundle\CouchDBBundle\DoctrineCouchDBBundle()

当我运行php app / console时出现错误:

Fatal error: Class 'Doctrine\Bundle\CouchDBBundle\DoctrineCouchDBBundle' not found in /var/www/symfony2.test/app/AppKernel.php on line 22

我注意到对于MongoDB ODM,你有:

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

有没有doctrine-couchdb回购?你用过这个捆绑包吗?

2 个答案:

答案 0 :(得分:1)

更新

1。)检查您是否已安装并自动加载Doctrine\CouchDB

2。)在你的git安装中

target=/bundles/Symfony/Bundle/DoctrineCouchDBBundle应该是

target=/bundles/Doctrine/Bundle/DoctrineCouchDBBundle(注意Symfony => Doctrine)

3.)然后改变

'Doctrine' => __DIR__.'/../vendor/doctrine/lib',

'Doctrine' => array(__DIR__.'/../vendor/doctrine/lib', __DIR__.'/../vendor/bundles'),


脱离我的头脑,我会假设这些事情:

1。)缓存

2。)'Doctrine\\ODM\\CouchDB'=> __DIR__.'/../vendor/doctrine-couchdb/lib', 应该高于任何更高级别的命名空间('Doctrine','Doctrine \ Common')

所以看起来应该是这样的:

'Doctrine\\ODM\\CouchDB'=> __DIR__.'/../vendor/doctrine-couchdb/lib',
'Doctrine\\DBAL'   => __DIR__.'/../vendor/doctrine-dbal/lib',
'Doctrine'         => __DIR__.'/../vendor/doctrine/lib',

3.。)config.yml中缺少一些配置

答案 1 :(得分:1)

我将目标更改为


    target= /bundles/Doctrine/Bundle/CouchDBBundle

所以现在看起来像这样


    [DoctrineCouchDBBundle]
      git=http://github.com/doctrine/DoctrineCouchDBBundle.git
      target=/bundles/Doctrine/Bundle/CouchDBBundle

因为我注意到couchdb bundle的名称空间是


    namespace Doctrine\Bundle\CouchDBBundle;

因此添加


    new Doctrine\Bundle\CouchDBBundle\DoctrineCouchDBBundle()

如果安装位置与namespace / class_name不匹配,则

到AppKernel将失败。

此处详细设置和配置DoctrineCouchDBBundle Git Hub Issue Log

对于那些不熟悉Symfony 2捆绑体系结构的人,您可能想知道哪些配置密钥是必需的并且可用于捆绑包。信息可以从以下网址获得:


    bundle_dir/bundle_name/.../configuration.php