我想在域驱动设计方法中使用Doctrine来实现数据持久性。但是困扰我的是关联映射应该在实体内部的事实。就纯DDD而言,这不是一个坏习惯吗?因为在进入持久性问题之前,我的域实体非常干净,现在他们在其属性中有很多评论。像这样:实体内的DDD和Doctrine映射
<?php
namespace Domain\Model;
use Doctrine\ORM\Mapping as ORM;
/**
* User
*
* @ORM\Table(name="user")
* @ORM\Entity
*/
class User
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="user_id_seq", allocationSize=1, initialValue=1)
* @ORM\Column(type="integer")
*/
private $id;
...
除了使用这些评论,我还必须有use Doctrine\ORM\Mapping as ORM;
。这样,基础设施就不会与域保持分离。
有没有办法将这个映射移动到配置文件?我正在使用ZF2。
学说2支持YAML和XML映射。只需搜索ZF2文档,了解如何在其框架中执行此操作。我使用Symfony 2,所以我不能给你具体细节,但我相信它可以完成。 – Cerad
这工作!谢谢你的回答。我对Zend使用了这种方法:https://www.kerstner.at/en/2014/04/managing-doctrine-2-entity-model-classes-using-yamldriver-in-zend-framework-2/ –