2012-01-12 28 views
1

我怎麼會注入服務的學說庫?這樣做是個好主意嗎?我應該讓知識庫容器知道還是應該在函數參數中傳遞服務?教義庫使用服務

例如:我想用一個名爲「knp_pager」服務,進行分頁查詢。我想讓它在我的文章庫的getArticleList()函數中可用,這樣我就可以返回一個分頁結果。

回答

0

您可以從庫中定義的服務,對symfony的2網站關於菜譜食譜。然後,您可以使用setter注入其他服務並將它們連接到容器配置中。

無論如何,我會盡量保持倉庫類儘可能簡單(讓我們說,他們應該只提供通用的數據訪問),並注入他們在其他服務中,如果我需要在複雜的操作更加抽象。

2

恕我直言,注入knp_pager服務到你的倉庫是不是一個好主意。這不是存儲庫對您的查詢進行分頁的責任。

爲了限制你的查詢,我會通過一個可選的offset &可選length到可以由knp_pager生成庫方法。像這樣,庫的響應能力得到了尊重,並且您可以輕鬆限制您的查詢。

+1

+1與分離關注保持一致。 – 2012-01-13 03:44:21