doctrine / couchdb-odm-bundle
此包已被弃用,不再维护。没有建议的替代包。
Symfony2 Doctrine CouchDB Bundle
v2.1-alpha1
2015-09-02 12:04 UTC
Requires
- php: >=5.3.2
- doctrine/couchdb: @dev
- doctrine/couchdb-odm: @dev
- symfony/doctrine-bridge: ~2.0
- symfony/framework-bundle: ~2.0
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
是设计文档的名称。