我想在域驅動設計方法中使用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/ –