2013-08-29 42 views
0

我的示例應用程序有兩個包,分別爲AcmeAuthenticationBundleAcmePhonelistbundle我可以在不破壞SoC的情況下使用不同Bundle中的實體嗎?

AcmeAuthenticationBundle我創建了一個用戶實體,我需要身份驗證(顯然)具有一些用戶特定的屬性(如姓,名等)。在AcmePhonelistBundle我想根據該用戶實體生成一個phonelist。

爲此我創建注射(在services.yml定義)得到學說實體管理器和用戶類(在教義簡寫形式)服務:

parameters: 
    acme_phonelist.user.class: AcmeAuthenticationBundle:User 

services: 
    acme_phonelist.factory: 
     class: Acme\PhonelistBundle\Factory\PhonelistFactory 
     arguments: 
      em: "@doctrine.orm.entity_manager" 
      userClass: "%acme_phonelist.user.class%" 

我不能想出一個不同的/更好的解決方案來保持這些捆綁解耦。這是一個適當的/理智的方式,這個用例還是我忽略了一些東西?任何改進建議?

+0

@Touki一種,但我想保持它鬆散耦合。 – nietonfir

回答

1

創建捆綁包或服務的唯一目的是包含用戶特定的數據,並將其重用於phonelist和authenticationbundle。

+0

*大聲笑*想想看,這是如此明顯,thx一噸! ;) – nietonfir

+0

在實現了你提出的解決方案之後,我發現我可以使用doctrine庫作爲服務(請參閱http://stackoverflow.com/questions/17228417/symfony-2-creating-a-service-from-a-repository) 。 – nietonfir

相關問題