doctrine/couchdb-odm-bundle

此包已被弃用,不再维护。没有建议的替代包。

Symfony2 Doctrine CouchDB Bundle

安装数: 18,328

依赖者: 0

建议者: 9

安全: 0

星标: 49

关注者: 13

分支: 46

开放问题: 7

类型:symfony-bundle

v2.1-alpha1 2015-09-02 12:04 UTC

This package is auto-updated.

Last update: 2024-02-12 02:10:31 UTC


README

此包集成了Doctrine CouchDB ODM和客户端到Symfony2中。

稳定性: Alpha

安装

  • composer require doctrine/couchdb-odm-bundle
  • Doctrine\Bundle\CouchDBBundle\DoctrineCouchDBBundle 添加到您的Kernel#registerBundles() 方法中
  • 如果您不使用composer,不要忘记添加Doctrine\CouchDB, Doctrine\ODM\CouchDB和Doctrine\Bundle命名空间的自动加载器

要使用注解,请将其注册到您的app/autoload.php文件中

use Doctrine\Common\Annotations\AnnotationRegistry;
AnnotationRegistry::registerLoader(array($loader, 'loadClass'));

文档

有关更多信息,请参阅 Doctrine CouchDB ODM 文档。

配置

配置类似于Doctrine ORM和MongoDB的Symfony2配置,因为它基于AbstractDoctrineBundle

doctrine_couch_db:
  client:
    dbname: symfony
  odm:
    auto_mapping: true

要转储此包的配置引用

php app/console config:dump-reference doctrine_couch_db

注解

如何使用CouchDB和Symfony的注解的示例

<?php
namespace Acme\DemoBundle\CouchDocument;

use Doctrine\ODM\CouchDB\Mapping\Annotations as CouchDB;

/**
 * @CouchDB\Document
 */
class User
{
    /** @CouchDB\Id */
    private $id;
}

服务

您可以访问CouchDB服务

<?php

namespace Acme\DemoBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class DefaultController extends Controller
{
    public function indexAction()
    {
        $client = $this->container->get('doctrine_couchdb.client.default_connection');
        $documentManager = $this->container->get('doctrine_couchdb.odm.default_document_manager');
    }
}

视图目录

@YourBundle/Resources/couchdb/ 中,您可以添加设计文档和相应的视图,并由Doctrine CouchDB自动注册它们。例如,如果您有一个名为 "foo" 的设计文档和一个名为 "bar" 的视图,您可以添加以下文件和目录

Resources/couchdb/
└── foo/
    └── views/
        └── bar/
            ├── map.js
            └── reduce.js

您可以通过以下方式从CLI更新此设计文档

./app/console doctrine:couchdb:update-design-doc foo

其中 foo 是设计文档的名称。