Примеры конфигурации ZfcUserDoctrineMongoODM

Я пытаюсь настроить ZendFramwork 2 для использования MongoDB в качестве хранилища для аутентификации пользователя.

Я уже установил, как мне кажется, правильные модули, и у меня есть правильно установленный экземпляр ZF2, работающий на Nginx. У меня также есть запущенный экземпляр Mongo, и я уже использую его для другого проекта. Объявление модулей в application.config.php выглядит так

'modules' => array( 'Приложение', 'ZfcBase', 'ZfcUser', 'ZfcUserDoctrineMongoODM', 'DoctrineModule', 'DoctrineMongoODMModule')

Документация немного скудна о том, как настроить систему, чтобы она заработала. Может ли кто-нибудь предоставить какие-либо фрагменты кода для настройки параметров базы данных, чтобы позволить Mongo работать с ZfcUser, вот где я сейчас в недоумении.

Будем очень признательны за любую помощь, подсказки или шпаргалки.

Даррен Бриз


person Darren B    schedule 30.06.2014    source источник
comment
Я предполагаю, что модули доктрины должны быть выше модулей Zfc. Какая у вас ошибка? Вы можете получить доступ к странице /user/register ?   -  person shukshin.ivan    schedule 01.07.2014
comment
Пробел, который у меня есть, - это конфигурация для коллекции пользователей базы данных. Я могу получить доступ к страницам входа из ZfcUser, но за этим, конечно, нет базы данных.   -  person Darren B    schedule 01.07.2014


Ответы (1)


Взгляните на файл readme модуля Doctrine Mongo ODM https://github.com/doctrine/DoctrineMongoODMModule:

скопируйте vendor/doctrine/doctrine-mongo-odm-module/config/module.doctrine-mongo-odm.local.php.dist в каталог config/autoload вашего приложения, переименуйте его в module.doctrine-mongo-odm.local.php и внесите соответствующие изменения. С помощью этого файла конфигурации вы можете настроить соединение mongo, добавить дополнительные аннотации для регистрации, добавить подписчиков в диспетчер событий, добавить фильтры в коллекцию фильтров и драйверы в цепочку драйверов.

Итак, у вас есть что-то вроде этого в вашей конфигурации автозагрузки:

<?php
return array(
    'doctrine' => array(

        'connection' => array(
            'odm_default' => array(
                'server'           => 'localhost',
                'port'             => '27017',
//                'connectionString' => null,
//                'user'             => null,
//                'password'         => null,
//                'dbname'           => null,
//                'options'          => array()
            ),
        ),
....
'configuration' => array(
        'odm_default' => array(
         ... 'default_db'         => 'myappdb',
        )
)

Так что настройте его и попробуйте зарегистрироваться на user/register. Имя коллекции по умолчанию user.

person shukshin.ivan    schedule 01.07.2014
comment
Похоже на билет, утром попробую и отчитаюсь. Спасибо! - person Darren B; 02.07.2014
comment
В конце концов, это было так просто, теперь я зарегистрировался, данные появились в Mongdb и я могу пройти аутентификацию. Спасибо за вашу помощь. Все, что я сделал, это следовал инструкциям вверху, установил для сервера IP-адрес сервера и установил значение default_db для пользователя. - person Darren B; 02.07.2014
comment
Извините, я пока не могу, поскольку я новичок на этом сайте, мне не хватает очков репутации. - person Darren B; 03.07.2014