martinkronstad / couchdb-odm-bundle
Symfony3 Doctrine CouchDB Bundle
2.2
2016-02-25 15:48 UTC
Requires
- php: >=5.3.2
- doctrine/couchdb: @dev
- doctrine/couchdb-odm: @dev
- symfony/doctrine-bridge: ~2.3|~3.0
- symfony/framework-bundle: ~2.3|~3.0
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
是设计文档的名称。