Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Silex&x2B;Couchdb+;DoctrineCouchDbODM_Php_Symfony_Doctrine Orm_Couchdb_Silex - Fatal编程技术网

Php Silex&x2B;Couchdb+;DoctrineCouchDbODM

Php Silex&x2B;Couchdb+;DoctrineCouchDbODM,php,symfony,doctrine-orm,couchdb,silex,Php,Symfony,Doctrine Orm,Couchdb,Silex,祝大家圣诞快乐 我正试图在silex php项目中使用couchdb ODM原则。我已经让它工作,但与沙发,它不断打破 我在网上搜索了好几天,但什么也没找到。我会说得很具体,我一直在犯这个有趣的错误 类包\文档\用户不是有效的文档或映射的超类。 在调试时,我注意到在doctor/ODM/CouchDB/Mapping/Driver/AnnotationDriver.php第55行中有这个调用 $classAnnotations=$this->reader->getClassAnnotation

祝大家圣诞快乐

我正试图在silex php项目中使用couchdb ODM原则。我已经让它工作,但与沙发,它不断打破

我在网上搜索了好几天,但什么也没找到。我会说得很具体,我一直在犯这个有趣的错误


类包\文档\用户不是有效的文档或映射的超类。

在调试时,我注意到在doctor/ODM/CouchDB/Mapping/Driver/AnnotationDriver.php第55行中有这个调用

$classAnnotations=$this->reader->getClassAnnotations($reflClass)

返回一个空数组。我猜我的配置可能有问题,但似乎无法指出

任何帮助都将不胜感激

更新 配置CouchDB ODM。我创建了两个服务提供商。1用于CouchDB,另一个用于CouchDB ODM,以Silex中默认的
DoctrineServiceProvider
为模型

CouchDB服务提供商 并在
config/prod.php

$app->register(new DoctrineCouchDbServiceProvider());
$app->register(new DoctrineCouchDbOdmServiceProvider());
$app['couchdb.options'] = [
    'dbname' => 'app_db',
    'type' => 'socket',
    'host' => 'localhost',
    'port' => 5984,
    'user' => null,
    'password' => null,
    'ip' => null,
    'logging' => true
];

$app['couchdb.dm.options'] = [
    'mappings' => [
        [
            'type' => 'annotation',
            'namespace' => 'Package\documents',
            'path' => __DIR__.'/../src/package/documents'
        ],
    ]
];
我的文件
让我们看看您的条令配置,以证明您对错误可能原因的感觉。@Llaball,我已经更新了问题。感谢您的帮助。让我们看看您的条令配置,以证明您对错误可能原因的感觉。@Llaball,我已经更新了问题。谢谢你的帮助。
$app->register(new DoctrineCouchDbServiceProvider());
$app->register(new DoctrineCouchDbOdmServiceProvider());
$app['couchdb.options'] = [
    'dbname' => 'app_db',
    'type' => 'socket',
    'host' => 'localhost',
    'port' => 5984,
    'user' => null,
    'password' => null,
    'ip' => null,
    'logging' => true
];

$app['couchdb.dm.options'] = [
    'mappings' => [
        [
            'type' => 'annotation',
            'namespace' => 'Package\documents',
            'path' => __DIR__.'/../src/package/documents'
        ],
    ]
];
<?php
namespace Package\documents;

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

use Doctrine\Common\Collections\ArrayCollection;

// Have tried @CouchDB\Document as well

/**
 * @Document(repositoryClass="repositories\ZoneRepository")
 */
class Zone {
  /**
   * @Id(type="string")
   */
  protected $id;

  /**
   * @Field(type="string", indexed=true)
   */
  protected $slug;

  /**
   * @Field(type="string", jsonName="name", indexed=true)
   */
  protected $name;

  /** @Field(type="boolean", jsonName="enabled") */
  protected $enabled;
}