阅读这个关于使用 ZF2 实现 Doctrine 的有用教程。您应该在 Module.php 和 config/local.php 中放置全局配置选项。Module.php 中的这个数组键:
'doctrine' => array(
'driver' => array(
__NAMESPACE__ . '_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
)
)
)
)
local.php 中的这些数据库连接参数:
return array(
// ...
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => '',
'password' => '',
'dbname' => 'zf2tutorial',
)
)
)
),
);
这将允许您避免 DB 实体中的重复,允许您对每个类仅使用以下 Doctrine 声明:
/**
* A music album.
*
* @ORM\Entity
* @ORM\Table(name="album")
* @property string $artist
* @property string $title
* @property int $id
*/
class Album implements InputFilterAwareInterface {