/** * {@inheritdoc} */ public function createServiceWithName(ServiceLocatorInterface $serviceLocator, $name, $requestedName) { // Captura de Configuração $config = $serviceLocator->get('Config')['balance_manager']['factories'][$requestedName]; // Inicialização $form = $serviceLocator->get('FormElementManager')->get($config['params']['form']); $inputFilter = $serviceLocator->get('InputFilterManager')->get($config['params']['input_filter']); $formSearch = $serviceLocator->get('FormElementManager')->get($config['params']['form_search']); $inputFilterSearch = $serviceLocator->get('InputFilterManager')->get($config['params']['input_filter_search']); $persistence = $serviceLocator->get($config['params']['persistence']); // Filtros de Dados $form->setInputFilter($inputFilter); $formSearch->setInputFilter($inputFilterSearch); // Camada de Modelo $model = new Model($persistence); // Gerenciador de Eventos $model->setEventManager($serviceLocator->get('EventManager')); // Formulários $model->setForm($form); $model->setFormSearch($formSearch); // Apresentação return $model; }