0

谁能提供一个驱动程序配置示例以读取 Application/src/Application/Document/.... D b

    <?php

return array(
    'doctrine' => array(
        'connection' => array(
            'odm_default' => array(
                'server' => 'localhost',
                'port' => '27017',
//                'user'      => null,
//                'password'  => null,
                'dbname' => 'yehja',
//                'options'   => array()
            ),
        ),
        'configuration' => array(
            'odm_default' => array(
//                'metadata_cache'     => 'array',
//
//                'driver'             => 'odm_default',
//
//                'generate_proxies'   => true,
//                'proxy_dir'          => 'data',
//                'proxy_namespace'    => 'DoctrineMongoODMModule\Proxy',
//
//                'generate_hydrators' => true,
//                'hydrator_dir'       => 'data',
//                'hydrator_namespace' => 'DoctrineMongoODMModule\Hydrator',
//
//                'default_db'         => null,
//
//                'filters'            => array()  // array('filterName' => 'BSON\Filter\Class')
            )
   // /   // ),
    //    'driver' => array(
    //        'odm_default' => array(
    //        //   'drivers' => array('Appl   
   //         )
        ),
        'driver' => array(
            'class' => 'Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver',
            'namespace' => 'Application\Document',
            'paths' => array('module/Application/src/Application/Document'),
        ),
        'documentmanager' => array(
            'odm_default' => array(
//                'connection'    => 'odm_default',
//                'configuration' => 'odm_default',
//                'eventmanager' => 'odm_default'
            )
        ),
        'eventmanager' => array(
            'odm_default' => array(
                'subscribers' => array()
            )
        ),
    ),
);```

我正在使用的模块-> https://github.com/doctrine/DoctrineMongoODMModule

4

2 回答 2

3

这些作品:

文件:config/autoload/module.doctrine-mongo-odm.local.php

<?php


Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver::registerAnnotationClasses();
return array(
    'doctrine' => array(
        'connection' => array(
            'odm_default' => array(
                'server' => 'localhost',
                'port' => '27017',
//                'user'      => null,
//                'password'  => null,
                'dbname' => 'yehja',
//                'options'   => array()
            ),
        ),

        'configuration' => array(
            'odm_default' => array(
//                'metadata_cache'     => 'array',
//
//                'driver'             => 'odm_default',
//
//                'generate_proxies'   => true,
//                'proxy_dir'          => 'data',
//                'proxy_namespace'    => 'DoctrineMongoODMModule\Proxy',
//
//                'generate_hydrators' => true,
//                'hydrator_dir'       => 'data',
//                'hydrator_namespace' => 'DoctrineMongoODMModule\Hydrator',
//
//                'default_db'         => null,
//
//                'filters'            => array()  // array('filterName' => 'BSON\Filter\Class')
            )
   // /   // ),
    //    'driver' => array(
    //        'odm_default' => array(
    //        //   'drivers' => array('Appl   
   //         )
        ),

        'documentmanager' => array(
            'odm_default' => array(
//                'connection'    => 'odm_default',
//                'configuration' => 'odm_default',
//                'eventmanager' => 'odm_default'
            )
        ),
        'eventmanager' => array(
            'odm_default' => array(
                'subscribers' => array()
            )
        ),
    ),
);

文件:module/Application/config/module.config.php 添加这些行

'doctrine' => array(
        'driver' => array(
            __NAMESPACE__ . '_driver' => array(
                'class' => 'Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver',

                'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Document')
            ),
            'odm_default' => array(
                'drivers' => array(
                    __NAMESPACE__ . '\Document' => __NAMESPACE__ . '_driver'
                )
            )
        )
    )
于 2012-08-22T07:37:52.717 回答
1

我猜你从这个问题中得到了配置的想法,但从那以后格式发生了变化。这是我拥有的一个(dibber 是应用程序的名称 - 是的,它是 PHP 5.4 数组):

'driver' => [
    'dibber' => [
        'class' => 'Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver',
    ],
    'odm_default' => [
        'drivers' => [
            'Dibber\Document' => 'dibber'
        ]
    ]
],

这基本上意味着这Dibber\Document是将要使用注释驱动程序的命名空间。所以对你来说是Application\Document

于 2012-08-18T21:59:05.423 回答