На самом деле, в моем проекте ZF2 я создал базовые классы для моделей, форм и так далее. Например: я заметил, что мне, вероятно, понадобится ServiceLocator в моих моделях, поэтому я создал класс Application\Model\Base, который реализует ServiceLocatorAwareInterface. Это касается и моих форм.
Я думал, был ли это лучший способ сделать это или мне следует передать зависимости в конструкторе. Итак, сегодня я пришел с проблемой:
У меня есть форма (Application\Form\Customer\Add), которая должна использовать ServiceLocator в своем конструкторе. Но в этот момент ServiceLocator еще не установлен (конструктор вызывается перед setServiceLocator()).
Итак, что вы думаете, это лучший способ решить эту проблему? Должен ли я передавать зависимости конструктором или продолжать использовать тот подход, который я фактически использую (и попытаться решить проблему с формой клиента другим способом)?
ServiceManager
конструктору модели вModule.php
и передатьServiceManager
конструктору формы в контроллере, когда вы получите экземпляр из класса формы. - person Mohammad Mehdi Habibi   schedule 17.12.2013