martinkronstad/couchdb-odm-bundle

Symfony3 Doctrine CouchDB Bundle

安装: 442

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 46

类型:symfony-bundle

2.2 2016-02-25 15:48 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:02:55 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配置类似,因为它基于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 是设计文档的名称。