2012-09-11 31 views
1

場景依賴注入 - 什麼是最好的方法?

談論Symfony2。我有一個與他的制定者和獲得者的實體。這個二傳手之一是有點特別的,因爲必須檢索一些相關的對象,做些事情並寫回關係。
爲了檢索這些對象,我想到的是使用與我的實體相關的實體管理器和存儲庫。

問題

我還沒有直接從實體訪問實體管理器的可能性。一種可能的解決方案是將E.M.注入到該實體中,但據我所知,不建議將實體依賴注入。

可能的解決方法

寫服務,注入到它E.M.,使用服務於實體。
請注意這個:我不能在其他地方實例化我的實體,因爲一個Bundle(SonataAdmin)負責完成這個任務。

這是一個很好的方法來做到這一點,或存在一個更好的方法嗎?

+0

正在您的實體之間創建一個真正的關係一個選項?在這種情況下,您可以輕鬆訪問相關實體。 – m0c

+0

@ m0c我不明白你在說什麼...... – DonCallisto

+0

如果你只是想獲得實體B中的實體A,我會創建一個與@ORM \ OneToOne或類似的關係。或者你想檢索另一個「對象」,它不代表一個實體? – m0c

回答

1

比方說,你正在與實體1.工作你需要得到實體2.

我想創建一個服務,與獲得實體1作爲參數的函數。給E.M.這個服務,並得到實體2.

實體文件不是這樣的東西,服務在這裏來幫助你。

+0

我同意 - 你不想把任何服務放入你的實體 – Cyprian

+0

@Cyprian:是的,但這就是我所說的(「據我所知......」) – DonCallisto

+0

@Gmajoulet:是的我知道這一點,正如我之前所說的......正是我所說的。看看我給塞浦路斯人的評論。 我想知道我的想法是否好... – DonCallisto