2016-04-16 20 views
0

我在我的應用程序配置如下invokables傳遞動態數據服務的可調用構建

"service_manager":{ 
"invokables":{ 
    "Dbmodel\\User":"Application\\DbModel\\UserModel", 
    "Dbmodel\\App":"Application\\DbModel\\AppModel" 
} 
} 

所以這個理論是說我可以叫:

$userMdl = $e->getApplication()->getServiceManager()->get('DbModel\User');

而結果將成爲Application\DbModel\UserModel類的一個實例。確定這是偉大的,是我的工作,現在想象我的問題是這樣的:

在我的用戶模型,我需要通過一個ID來加載與數據庫中的數據模型到__construct整數。

很明顯,我無法做到這一點與我的模型作爲invokables,因爲我從來沒有機會通過身份證。

有沒有辦法創建一個工廠,你可以使用supply an argument such as a user id for my situation與對象實例化。

An example would be using it in a controller to get a model based on a get request for a user based on id

回答

0

一個想法可以從服務管理器具有UserModelFactory檢索,並用它來打造,與給定的方法,這需要用戶id作爲參數,你需要的UserModel

+0

我喜歡此解決方案 – slicks1

相關問題