Ответ 1
последний раз проверено: ZF2.2. *, DoctrineORMModule 0.7.
Официальный модуль
Вы можете загрузить DoctrineORMModule
через композитор:
- добавить
doctrine/doctrine-orm-module
к вашему запросу composer.json(пример кода после списка bcs проблем с форматированием) - run
php composer.phar install
- создать каталог
./data/DoctrineORMModule/Proxy
и обеспечить доступ для записи для вашего приложения - настроить доктрину через ваши приложения
/config/autoload
, чтобы предоставить модулю специфичные для проекта настройки (база данных и т.д.) - настроить отображение сущности доктрины в ваших модулях
config.php
- добавить объект в свой проект
- добавьте
DoctrineORMModule
иDoctrineModule
кconfig/application.config.php
- запустите инструмент cli для создания ваших таблиц
./vendor/bin/doctrine-module orm:schema-tool:create
Я сильно отговариваю вас от использования композитора, так как это простой способ установить зависимости и настроить все автозагрузчики. Также ZF2 отправляется через композитор по умолчанию.
Пример кода
composer.json
{
"require" : {
"php": ">=5.3.3",
"zendframework/zendframework": "2.*"
"doctrine/doctrine-orm-module": "0.*"
}
}
настройки сущ.
<?php
return array(
'doctrine' => array(
'driver' => array(
// defines an annotation driver with two paths, and names it `my_annotation_driver`
'my_annotation_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(
'path/to/my/entities',
'another/path'
),
),
// default metadata driver, aggregates all other drivers into a single one.
// Override `orm_default` only if you know what you're doing
'orm_default' => array(
'drivers' => array(
// register `my_annotation_driver` for any entity under namespace `My\Namespace`
'My\Namespace' => 'my_annotation_driver'
)
)
)
)
);
A getcha, чтобы быть в курсе: пути к вашим entites должны быть полностью квалифицированы. Лучше всего начинать с __DIR__
, иначе все сломается (каждый новый проект мне интересно, почему инструмент командной строки не работает, пока не найду эту ошибку...;)
настройки подключения
<?php
return array(
'doctrine' => array(
'connection' => array(
// default connection name
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => 'username',
'password' => 'password',
'dbname' => 'database',
)
)
)
),
);
Все примеры кода являются частью официального модуля модуля доктрины
Дальнейшее чтение:
Марко Пиветта сделала , которую я рекомендую всем, кто использует этот модуль.
Джейсон Граймс написал учебник, представленный на phpdeveloper.org, который должен помочь установить доктрину, прежде чем появился официальный модуль.