1
我想用一個ResultFactory類的服務在我的Symfony 2的應用程序:Symfony的工廠類
我的結果工廠類將負責創建BaseResult實例。 根據傳遞給get factory方法的類型,ResultFactory將創建正確的ResultObject。
這裏的可能是什麼代碼:
class ResultFactory
{
protected $translator;
public function __construct(Translator $translator)
{
$this->translator = $translator;
}
public function get($type, $param)
{
$instance = null;
switch ($type) {
case 'Type1':
$instance = new Type1Result($param);
break;
case 'Type2':
$instance = new Type2Result($param);
break;
}
return $instance;
}
}
我的問題是:
我想在我的ResultObject使用服務。我如何將此服務注入到我的ResultObject中?
謝謝!
能否請您澄清一下,在返回之前如何將該服務注入resultobject? setter-或contructur-injection ...? '$ instance-> setService($ service)'或'new Instance($ service,$ param)'?目前還不清楚你想要什麼,因爲看起來你已經注入了翻譯服務......爲什麼不把你想要注入的服務作爲工廠的附加參數傳遞給returnobject? – nifr
我不知道我想用哪種方式注入服務。我只是想能夠使用一些服務到我的結果類。我不確定這是否是正確的方法,將它作爲參數傳遞給實例構造函數,並將其存儲在我的基類中。謝謝! – user3544352