教义ODM ZF2模块例如工作配置? [关闭](example working config f

2019-09-21 08:38发布

任何人都可以请提供驱动程序配置的一个例子,用于读取在应用/ src目录/应用/文档文件注释/ ....创造了这个,但仍学说模块ODM:模式:CREATE说,所有集合创建的,但没有收集在我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

Answer 1:

这些作品:

文件:配置/自动加载/ module.doctrine -蒙戈- 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.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'
                )
            )
        )
    )


Answer 2:

我猜你有从配置思路这个问题,但自那以后的格式改变。 这里有一个我有(挖洞是应用程序的名称 - 是它的PHP 5.4数组):

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

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



文章来源: example working config for Doctrine ODM zf2 Module? [closed]