我想开始使用 Zend Framework 进行开发,并且我想使用 zf2.由于我使用 Doctrine 2,您能否建议一些教程来帮助我将其集成到 zf2 中?谢谢!
I would like to start developing with Zend Framework and I would like to use zf2. Since I use Doctrine 2, can you suggest some tutorials to help me to integrate it in zf2? Thanks!
上次检查:ZF2.2.*, DoctrineORMModule 0.7.
您可能希望通过 composer 加载 DoctrineORMModule
:
You may want to load DoctrineORMModule
via composer:
doctrine/doctrine-orm-module
添加到您的 composer.json 的 require(格式问题列表后的示例代码)php composer.phar install
./data/DoctrineORMModule/Proxy
并确保您的应用程序具有写入权限/config/autoload
给模块项目特定的设置(数据库等)config.php
DoctrineORMModule
和 DoctrineModule
添加到您的 config/application.config.php
./vendor/bin/doctrine-module orm:schema-tool:create
doctrine/doctrine-orm-module
to your composer.json's require (example code after list bcs of formatting problems)php composer.phar install
./data/DoctrineORMModule/Proxy
and ensure write access for your application/config/autoload
to give the module the project-specific settings (database etc)config.php
DoctrineORMModule
and DoctrineModule
to your config/application.config.php
./vendor/bin/doctrine-module orm:schema-tool:create
我强烈建议您不要使用 Composer,因为这是安装依赖项和设置自动加载器的简单方法.默认情况下,ZF2 也通过 Composer 发布.
I strongly discourage you from not using composer, as it is an easy way to install dependencies and have the autoloaders all set up. Also ZF2 ships via composer by default.
{
"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' => 'DoctrineORMMappingDriverAnnotationDriver',
'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 `MyNamespace`
'MyNamespace' => 'my_annotation_driver'
)
)
)
)
);
需要注意的问题:通往实体的路径应该是完全合格的.最好从 __DIR__
开始,否则事情会崩溃(每个新项目我都想知道为什么命令行工具在我发现这个错误之前不起作用......;)
A gotcha to be aware of: The paths to your entites should be fully qualified. Best start with __DIR__
, else things will break (Every new project I wonder why the command line tool doesn't work until I find this error ... ;)
<?php
return array(
'doctrine' => array(
'connection' => array(
// default connection name
'orm_default' => array(
'driverClass' => 'DoctrineDBALDriverPDOMySqlDriver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => 'username',
'password' => 'password',
'dbname' => 'database',
)
)
)
),
);
所有代码示例都是官方学说模块自述文件的一部分
Marco Pivetta 做了一个关于学说模块使用的精彩演讲,我向所有使用此模块的人推荐.
Marco Pivetta made a wonderful presentation about doctrine-module usage, which I recommend to everybody using this module.
Jason Grimes 写了一个教程 在 phpdeveloper.org 上有特色,这应该有助于安装学说,然后才有官方模块.
Jason Grimes wrote a tutorial featured on phpdeveloper.org which should help installing doctrine, before there was an official module.
这篇关于Zend 框架 2 + Doctrine 2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!