簡體   English   中英

DDD Laravel。存儲庫模式。 如何從持久化中取出一個object並轉換成一個不是Laravel的Entity model?

[英]DDD Laravel. Repository pattern. How to retrieve an object from persistency and convert it into a not Laravel Entity model?

我在 Laravel 申請 DDD。

在此架構中,實體(由相應的值對象符合)不是 Laravel Model 擴展 class(因為領域層需要與基礎設施無關)

所以...當我在存儲庫實現中檢索一些數據時,結果是標准類 object,我需要將其作為實體 object 返回。

有人知道這樣做的最佳方法嗎?

謝謝!


為此,我嘗試手動將 stdclass 轉換為實體,但它看起來又臟又臟。

好的,我知道了。

我發現了兩種不同的方法,以防其他人遇到同樣的問題。

選項 1:采用 Eloquent Active Record。

在基礎設施層內部,我創建了一個 Eloquent model 來表示實體,我將它用作 eloquent 查詢的載體。 這樣,所有與框架的連接都包含在基礎設施中,而不會污染其他層。

方案二:Laravel申請Doctrine。

Doctrine 有一個 package 對應 laravel。Doctrine 在 Synfony 中使用數據映射,所以不用擔心。

不管怎么說,還是要謝謝你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM