0
我有一個工廠實現FactoryInterface
,如:ZF2,類實施FactoryInterface傳遞的ServiceLocator實例作爲屬性
class SomeFactory implements FactoryInterface
{
public function createService(ServiceLocatorInterface $serviceLocator)
{
// the code to create SomeClass instance
}
}
現在,所有的碼是createService
方法(多if
S的內部,某些查詢,等等。 )這使得該方法漫長且難以遵循。我想通過將一些代碼提取到單獨的方法來重構代碼。問題在於我的情況,我最終將$serviceLocator->getServiceLocator()
的實例傳遞給了這些方法中的每一個,這實際上沒有問題,但感覺很難看。
我想知道是否有一種優雅的方式,可能分配SomeFactory
$serviceLocator->getServiceLocator()
的屬性,而不僅僅是在每個提取的方法中傳遞屬性。
多'if's注入它,例如,我準備需要注射的物體。那麼如果真的進入服務? –
@DimaDz這取決於你的期望。提供您想要實現的內容以及如何構建您的應用程序的例子。通常,一個服務可以在控制器中使用。 – ceadreak