Esempio n. 1
0
 protected function setUp()
 {
     $serviceManager = new ServiceManager();
     $serviceLocator = new FormElementManager();
     $serviceLocator->setServiceLocator($serviceManager);
     $pAccounts = $this->getMock('Balance\\Model\\Persistence\\ValueOptionsInterface');
     $pAccounts->method('getValueOptions')->will($this->returnValue([]));
     $serviceManager->setService('Balance\\Model\\Persistence\\Accounts', $pAccounts);
     $serviceLocator->setService('Currency', new CurrencyElement());
     $view = new View();
     $view->getEventManager()->attach(ViewEvent::EVENT_RENDERER, function () {
         $renderer = (new PhpRenderer())->setResolver(new TemplateMapResolver(['layout/page-header' => './module/Balance/view/layout/page-header.phtml', 'balance/postings/edit' => './module/Balance/view/balance/postings/edit.phtml', 'tests/postings/before-entries-a' => './module/Balance/test/BalanceTest/View/Scripts/postings-before-entries-a.phtml', 'tests/postings/before-entries-b' => './module/Balance/test/BalanceTest/View/Scripts/postings-before-entries-b.phtml']));
         $helpers = $renderer->getHelperPluginManager();
         $helpers->get('BasePath')->setBasePath('/');
         $match = $this->getMockBuilder('Zend\\Mvc\\Router\\RouteMatch')->disableOriginalConstructor()->getMock();
         $match->method('getMatchedRouteName')->will($this->returnValue('default'));
         $helpers->get('Url')->setRouter($this->getMock('Zend\\Mvc\\Router\\RouteStackInterface'))->setRouteMatch($match);
         $configs = new HelperConfig();
         $configs->configureServiceManager($helpers);
         return $renderer;
     });
     $form = new PostingsForm();
     $form->setServiceLocator($serviceLocator);
     $model = (new ViewModel())->setTemplate('balance/postings/edit')->setVariable('form', $form)->setOption('has_parent', true);
     $form->init();
     $this->view = $view;
     $this->model = $model;
 }
 /**
  * __invoke
  *
  * @param FormElementManager  $formElementManager  The form element manager.
  * @param string              $name                The name of the form to create.
  * @param string              $requestedName       The requested name of the form to create.
  *
  * @return Login
  */
 public function __invoke(FormElementManager $formElementManager, $name, $requestedName)
 {
     /** @var ServiceManager $serviceManager */
     $serviceManager = $formElementManager->getServiceLocator();
     /** @var AuthenticationOptions $authenticationOptions */
     $authenticationOptions = $serviceManager->get('ArpAuth\\Service\\AuthenticationOptions');
     return new Login($authenticationOptions, 'login');
 }
 public function testCanCreateService()
 {
     $serviceManager = new ServiceManager();
     $serviceManager->setService('UghAuthentication\\InputFilter\\Login', new InputFilter());
     $formServiceManager = new FormElementManager();
     $formServiceManager->setServiceLocator($serviceManager);
     $factory = new LoginFactory();
     $inputFilter = $factory->createService($formServiceManager);
     $this->assertInstanceOf('UghAuthentication\\Form\\Login', $inputFilter);
 }
 public function testFactory()
 {
     $serviceManager = new ServiceManager();
     $serviceManager->setService('zfcuser_module_options', new ModuleOptions());
     $formElementManager = new FormElementManager();
     $formElementManager->setServiceLocator($serviceManager);
     $serviceManager->setService('FormElementManager', $formElementManager);
     $factory = new LoginFactory();
     $this->assertInstanceOf('ZfcUser\\Form\\Login', $factory->createService($formElementManager));
 }
 /**
  * @param FormElementManager $formElementManager
  *
  * @return CurrencySelect
  */
 public function __invoke(FormElementManager $formElementManager)
 {
     $serviceManager = $formElementManager->getServiceLocator();
     $config = $serviceManager->get('Config');
     if (!isset($config['money']['currencies'])) {
         throw new InvalidArgumentException('Couldn\'t find currencies configuration.');
     }
     $select = new CurrencySelect();
     $select->setValueOptions($config['money']['currencies']);
     return $select;
 }
 public function testWillInstantiateFormFromDiAbstractFactory()
 {
     //without DiAbstractFactory
     $standaloneFormElementManager = new FormElementManager();
     $this->assertFalse($standaloneFormElementManager->has('ZendTest\\Mvc\\Service\\TestAsset\\CustomForm'));
     //with DiAbstractFactory
     $formElementManager = $this->services->get('FormElementManager');
     $this->assertTrue($formElementManager->has('ZendTest\\Mvc\\Service\\TestAsset\\CustomForm'));
     $form = $formElementManager->get('ZendTest\\Mvc\\Service\\TestAsset\\CustomForm');
     $this->assertInstanceof('ZendTest\\Mvc\\Service\\TestAsset\\CustomForm', $form);
 }
Esempio n. 7
0
 /**
  * @param  string $name
  * @param  array $options
  * @return \Wizard\Step\StepInterface
  */
 public function create($name, array $options = [])
 {
     $step = $this->stepPluginManager->get($name);
     if (isset($options['form'])) {
         $form = $this->formPluginManager->get($options['form']);
         $step->setForm($form);
         unset($options['form']);
     }
     $step->setName($name);
     $step->getOptions()->setFromArray($options);
     return $step;
 }
 public function testFactory()
 {
     $serviceManager = new ServiceManager();
     $serviceManager->setService('zfcuser_module_options', new ModuleOptions());
     $serviceManager->setService('zfcuser_user_mapper', new UserMapper());
     $serviceManager->setService('zfcuser_register_form_hydrator', new ClassMethods());
     $formElementManager = new FormElementManager();
     $formElementManager->setServiceLocator($serviceManager);
     $serviceManager->setService('FormElementManager', $formElementManager);
     $factory = new RegisterFactory();
     $this->assertInstanceOf('ZfcUser\\Form\\Register', $factory->createService($formElementManager));
 }
 public function testSetLocaleFromConfigWithServiceManagerSubclass()
 {
     $default = new DefaultLocale();
     $default->setLocale('en_US');
     $sm = new ServiceManager();
     $sm->setService('config', array('locale' => 'uk_UA'));
     $fm = new FormElementManager();
     $fm->setServiceLocator($sm);
     $default->setLocaleFromConfig($fm);
     $this->assertSame('uk_UA', $default->getLocale());
     return $default;
 }
Esempio n. 10
0
 public function setUp()
 {
     /** @var FormElementManager $formElementManager */
     $formElementManager = $this->getMock('Zend\\Mvc\\Controller\\ControllerManager');
     $this->formElementManager = $formElementManager;
     /** @var ServiceLocatorInterface $serviceLocator */
     $serviceLocator = $this->getMock('Zend\\ServiceManager\\ServiceLocatorInterface');
     $this->serviceLocator = $serviceLocator;
     $this->formElementManager->expects($this->any())->method('getServiceLocator')->willReturn($serviceLocator);
     $factory = new CaptchaFormFactory();
     $this->factory = $factory;
 }
 /**
  * @dataProvider provideCaptchaAdapterKeys
  */
 public function testCreateService($captchaAdapterKey)
 {
     $config = (include __DIR__ . '/../../../../../config/captcha.config.php');
     $this->serviceLocator->get('Config')->willReturn($config);
     $application = $this->prophesize('Zend\\Mvc\\Application');
     $mvcEvent = $this->prophesize('Zend\\Mvc\\MvcEvent');
     $application->getMvcEvent()->willReturn($mvcEvent);
     $request = $this->prophesize('Zend\\Http\\PhpEnvironment\\Request');
     $request->getQuery('captcha_adapter', 0)->willReturn($captchaAdapterKey);
     $mvcEvent->getRequest()->willReturn($request);
     $this->serviceLocator->get('Application')->willReturn($application);
     $result = $this->factory->createService($this->formElementManager->reveal());
     $this->assertInstanceOf('LearnZF2Captcha\\Form\\CaptchaForm', $result);
 }
 public function testCanCreateService()
 {
     $factory = new LoginControllerFactory();
     $loginFormMock = $this->getMock('Zend\\Form\\FormInterface');
     $formElementManager = new FormElementManager();
     $formElementManager->setService('UghAuthentication\\Form\\Login', $loginFormMock);
     $moduleOptions = new ModuleOptions(array('login_redirect_route' => 'admin'));
     $serviceManager = new ServiceManager();
     $serviceManager->setService('FormElementManager', $formElementManager);
     $serviceManager->setService('UghAuthentication\\Options\\ModuleOptions', $moduleOptions);
     $controllerServiceManager = new ControllerManager();
     $controllerServiceManager->setServiceLocator($serviceManager);
     $loginController = $factory->createService($controllerServiceManager);
     $this->assertInstanceOf('UghAuthentication\\Controller\\LoginController', $loginController);
 }
 /**
  * Gets a specific formular.
  * 
  * This formular will be created upon the first retrievement.
  * If created, the formular gets passed the formular parameters set in this container.
  * 
  * @param string $key
  * @return null|\Core\Form\ContainerInterface|\Zend\Form\FormInterface
  */
 public function getForm($key)
 {
     if (false !== strpos($key, '.')) {
         list($key, $childKey) = explode('.', $key, 2);
         $container = $this->getForm($key);
         return $container->getForm($childKey);
     }
     if (!isset($this->forms[$key])) {
         return null;
     }
     $form = $this->forms[$key];
     if (isset($form['__instance__']) && is_object($form['__instance__'])) {
         return $form['__instance__'];
     }
     $options = isset($form['options']) ? $form['options'] : array();
     if (!isset($options['use_post_array'])) {
         $options['use_post_array'] = true;
     }
     if (!isset($options['use_files_array'])) {
         $options['use_files_array'] = false;
     }
     $formInstance = $this->formElementManager->get($form['type'], $options);
     $formName = (($name = $this->getName()) ? $name . '.' : '') . $form['name'];
     $formInstance->setName($formName)->setAttribute('action', '?form=' . $formName);
     if (isset($form['label'])) {
         $formInstance->setLabel($form['label']);
     }
     if ($entity = $this->getEntity()) {
         $this->mapEntity($formInstance, isset($form['property']) ? $form['property'] : $key, $entity);
     }
     $formInstance->setParams($this->getParams());
     $this->forms[$key]['__instance__'] = $formInstance;
     $this->forms[$key]['options'] = $options;
     return $formInstance;
 }
Esempio n. 14
0
 public function testInitWithoutPersistence()
 {
     $this->setExpectedException('Balance\\Form\\FormException', 'Invalid Model');
     $form = new Postings();
     // Localizador de Serviços Superior
     $serviceLocator = new ServiceManager();
     // Gerenciador de Formulários
     $formElementManager = new FormElementManager();
     // Dependência
     $formElementManager->setServiceLocator($serviceLocator);
     // Configurar Localizador de Serviços Superior
     $form->setServiceLocator($formElementManager);
     // Camada de Modelo de Contas
     $serviceLocator->setService('Balance\\Model\\Persistence\\Accounts', $this->getMock('Balance\\Model\\Persistence\\PersistenceInterface'));
     $form->init();
 }
 /**
  * Standard preferences handling via preferences form subclass
  *
  * @param string $name Name of the form service
  * @return \Zend\View\Model\ViewModel|\Zend\Http\Response View model for "form.php" template or redirect response
  */
 protected function _useForm($name)
 {
     $form = $this->_formManager->get($name);
     if ($this->getRequest()->isPost()) {
         $form->setData($this->params()->fromPost());
         if ($form->isValid()) {
             // Flatten Preferences array, i.e. incorporate fields from a
             // fieldset into a single array.
             $this->_config->setOptions(new \RecursiveIteratorIterator(new \RecursiveArrayIterator($form->getData()['Preferences'])));
             return $this->redirectToRoute('preferences', $this->getEvent()->getRouteMatch()->getParams()['action']);
         }
     } else {
         $preferences = array();
         foreach ($form->get('Preferences') as $element) {
             $name = $element->getName();
             if ($element instanceof \Zend\Form\Fieldset) {
                 foreach ($element as $subElement) {
                     $subElementName = $subElement->getName();
                     $preferences[$name][$subElementName] = $this->_config->{$subElementName};
                 }
             } else {
                 $preferences[$name] = $this->_config->{$name};
             }
         }
         $form->setData(array('Preferences' => $preferences));
     }
     return $this->printForm($form);
 }
Esempio n. 16
0
 public function testFetchWithoutDatetime()
 {
     $model = new Balance();
     $formElementManager = new FormElementManager();
     $inputFilterManager = new InputFilterPluginManager();
     $formElementManager->setService('datetime', new DateTime());
     $serviceLocator = new ServiceManager();
     $serviceLocator->setService('FormElementManager', $formElementManager)->setService('InputFilterManager', $inputFilterManager);
     $model->setServiceLocator($serviceLocator);
     $persistence = $this->getMock('Balance\\Model\\Persistence\\PersistenceInterface');
     $persistence->expects($this->atLeastOnce())->method('fetch')->will($this->returnCallback(function ($params) {
         return isset($params['datetime']) ? array(array('one' => 'two')) : array();
     }));
     $serviceLocator->setService('Balance\\Model\\Persistence\\Balance', $persistence);
     $result = $model->fetch(new Parameters());
     $this->assertEquals(array(array('one' => 'two')), $result);
 }
Esempio n. 17
0
 /**
  * @group 6132
  */
 public function testSharedFormElementsAreNotInitializedMultipleTimes()
 {
     $element = $this->getMock('Zend\\Form\\Element', array('init'));
     $element->expects($this->once())->method('init');
     $this->manager->setFactory('sharedElement', function () use($element) {
         return $element;
     });
     $this->manager->setShared('sharedElement', true);
     $this->manager->get('sharedElement');
     $this->manager->get('sharedElement');
 }
Esempio n. 18
0
 /**
  * Gets a specific formular.
  *
  * This formular will be created upon the first retrievement.
  * If created, the formular gets passed the formular parameters set in this container.
  *
  * @param string $key
  * @param bool $asInstance if set to false, the specification array is returned, and no instance created.
  *
  * @return null|\Core\Form\Container|\Zend\Form\FormInterface
  * @since 0,25 added $asInstance parameter
  */
 public function getForm($key, $asInstance = true)
 {
     if (false !== strpos($key, '.')) {
         list($key, $childKey) = explode('.', $key, 2);
         $container = $this->getForm($key);
         return $container->getForm($childKey);
     }
     if (!isset($this->forms[$key])) {
         return null;
     }
     $form = $this->forms[$key];
     if (!$asInstance) {
         return $form;
     }
     if (isset($form['__instance__']) && is_object($form['__instance__'])) {
         return $form['__instance__'];
     }
     $options = isset($form['options']) ? $form['options'] : array();
     if (!isset($options['name'])) {
         $options['name'] = isset($form['name']) ? $form['name'] : $key;
     }
     if (!isset($options['use_post_array'])) {
         $options['use_post_array'] = true;
     }
     if (!isset($options['use_files_array'])) {
         $options['use_files_array'] = false;
     }
     $formInstance = $this->formElementManager->get($form['type'], $options);
     $formInstance->setParent($this);
     if (isset($form['attributes'])) {
         $formInstance->setAttributes($form['attributes']);
     }
     $formName = $this->formatAction($form['name']);
     $formInstance->setName($formName);
     $formAction = $formInstance->getAttribute('action');
     if (empty($formAction)) {
         $formInstance->setAttribute('action', '?form=' . $formName);
     }
     if (isset($form['label'])) {
         $formInstance->setLabel($form['label']);
     }
     if (isset($form['disable_elements']) && $formInstance instanceof DisableElementsCapableInterface && $formInstance->isDisableElementsCapable()) {
         $formInstance->disableElements($form['disable_elements']);
     }
     $entity = $this->getEntity($form['entity']);
     if ($entity) {
         $this->mapEntity($formInstance, $entity, isset($form['property']) ? $form['property'] : $key);
     }
     $formInstance->setParams($this->getParams());
     $this->forms[$key]['__instance__'] = $formInstance;
     $this->forms[$key]['options'] = $options;
     return $formInstance;
 }
 public function testRegistryValuesActionPostValid()
 {
     $postData = array('key' => 'value');
     $form = $this->createMock('Console\\Form\\ManageRegistryValues');
     $form->expects($this->once())->method('process');
     $form->expects($this->once())->method('setData')->with($postData);
     $form->expects($this->once())->method('isValid')->will($this->returnValue(true));
     $form->expects($this->never())->method('render');
     $this->_formManager->expects($this->once())->method('get')->with('Console\\Form\\ManageRegistryValues')->will($this->returnValue($form));
     $this->dispatch('/console/preferences/registryvalues/', 'POST', $postData);
     $this->assertRedirectTo('/console/preferences/registryvalues/');
 }
Esempio n. 20
0
 /**
  * Fetches a text search form.
  *
  * If only the service for an element fieldset ist passed,
  * it will fetch a "Core/TextSearch" form and pass the
  * elements fieldset along.
  *
  * @param string|array     $elementsFieldset
  * @param string|null $buttonsFieldset
  *
  * @return \Core\Form\TextSearchForm
  */
 public function get($elementsFieldset, $buttonsFieldset = null)
 {
     if (is_array($elementsFieldset)) {
         $elementsOptions = isset($elementsFieldset[1]) ? $elementsFieldset[1] : [];
         $elementsFieldset = $elementsFieldset[0];
     } else {
         $elementsOptions = [];
     }
     $form = $this->formElementManager->get($elementsFieldset, $elementsOptions);
     /** @noinspection PhpUndefinedMethodInspection */
     $params = $this->getController()->getRequest()->getQuery()->toArray();
     if (!$form instanceof TextSearchForm) {
         $options = ['elements_fieldset' => $form];
         if (null !== $buttonsFieldset) {
             $options['buttons_fieldset'] = $buttonsFieldset;
         }
         $form = $this->formElementManager->get('Core/TextSearch', $options);
     }
     $form->setSearchParams($params);
     return $form;
 }
 public function setUp()
 {
     $services = $this->services = new ServiceManager();
     $elements = new FormElementManager();
     $filters = new FilterPluginManager();
     $hydrators = new HydratorPluginManager();
     $inputFilters = new InputFilterPluginManager();
     $validators = new ValidatorPluginManager();
     $elements->setServiceLocator($services);
     $filters->setServiceLocator($services);
     $hydrators->setServiceLocator($services);
     $inputFilters->setServiceLocator($services);
     $validators->setServiceLocator($services);
     $services->setService('FilterManager', $filters);
     $services->setService('FormElementManager', $elements);
     $services->setService('HydratorManager', $hydrators);
     $services->setService('InputFilterManager', $inputFilters);
     $services->setService('ValidatorManager', $validators);
     $inputFilters->setInvokableClass('FooInputFilter', 'Zend\\InputFilter\\InputFilter');
     $forms = $this->forms = new FormAbstractServiceFactory();
     $services->addAbstractFactory($forms);
 }
Esempio n. 22
0
 /**
  * Generic test for the constructor
  *
  * @return null
  * @covers \RcmAdmin\Factory\NewPageFormFactory
  */
 public function testCreateService()
 {
     $mockCurrentSite = $this->getMockBuilder('\\Rcm\\Entity\\Site')->disableOriginalConstructor()->getMock();
     $mockEntityManager = $this->getMockBuilder('\\Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock();
     $mockPageRepo = $this->getMockBuilder('\\Rcm\\Repository\\Page')->disableOriginalConstructor()->getMock();
     $mockEntityManager->expects($this->any())->method('getRepository')->will($this->returnValue($mockPageRepo));
     $mockLayoutManager = $this->getMockBuilder('\\Rcm\\Service\\LayoutManager')->disableOriginalConstructor()->getMock();
     $mockMainLayoutValidator = $this->getMockBuilder('\\Rcm\\Validator\\MainLayout')->disableOriginalConstructor()->getMock();
     $mockPageValidator = $this->getMockBuilder('\\Rcm\\Validator\\Page')->disableOriginalConstructor()->getMock();
     $mockPageTemplateValidator = $this->getMockBuilder('\\Rcm\\Validator\\PageTemplate')->disableOriginalConstructor()->getMock();
     $serviceManager = new ServiceManager();
     $serviceManager->setService('Rcm\\Validator\\PageTemplate', $mockPageTemplateValidator);
     $serviceManager->setService('Rcm\\Validator\\Page', $mockPageValidator);
     $serviceManager->setService('Rcm\\Validator\\MainLayout', $mockMainLayoutValidator);
     $serviceManager->setService('Rcm\\Service\\CurrentSite', $mockCurrentSite);
     $serviceManager->setService('Doctrine\\ORM\\EntityManager', $mockEntityManager);
     $serviceManager->setService('Rcm\\Service\\LayoutManager', $mockLayoutManager);
     $formManager = new FormElementManager();
     $formManager->setServiceLocator($serviceManager);
     $factory = new NewPageFormFactory();
     $object = $factory->createService($formManager);
     $this->assertTrue($object instanceof NewPageForm);
 }
 public function testImportActionPostValidSuccess()
 {
     $fileSpec = array('tmp_name' => 'uploaded_file');
     $this->getRequest()->getFiles()->set('File', $fileSpec);
     $postData = array('key' => 'value');
     $form = $this->_formManager->get('Console\\Form\\Import');
     $form->expects($this->once())->method('isValid')->will($this->returnValue(true));
     $form->expects($this->once())->method('setData')->with(array('File' => $fileSpec, 'key' => 'value'));
     $form->expects($this->once())->method('getData')->will($this->returnValue(array('File' => $fileSpec)));
     $form->expects($this->never())->method('render');
     $response = new \Zend\Http\Response();
     $response->setStatusCode(200);
     $this->_inventoryUploader->expects($this->once())->method('uploadFile')->with('uploaded_file')->will($this->returnValue($response));
     $this->dispatch('/console/client/import/', 'POST', $postData);
     $this->assertRedirectTo('/console/client/index/');
 }
 /**
  * Import client via file upload
  *
  * @return array|\Zend\Http\Response array(form [, uri, response]) or redirect response
  */
 public function importAction()
 {
     $form = $this->_formManager->get('Console\\Form\\Import');
     $vars = array('form' => $form);
     if ($this->getRequest()->isPost()) {
         $form->setData($this->params()->fromFiles() + $this->params()->fromPost());
         if ($form->isValid()) {
             $data = $form->getData();
             $response = $this->_inventoryUploader->uploadFile($data['File']['tmp_name']);
             if ($response->isSuccess()) {
                 return $this->redirectToRoute('client', 'index');
             } else {
                 $vars['response'] = $response;
                 $vars['uri'] = $this->_config->communicationServerUri;
             }
         }
     }
     return $vars;
 }
 public function testLoadingInvalidElementRaisesException()
 {
     $this->manager->setInvokableClass('test', get_class($this));
     $this->setExpectedException('Zend\\Form\\Exception\\InvalidElementException');
     $this->manager->get('test');
 }
 /**
  * @param $className
  *
  * @return object
  * @throws \Exception
  */
 private function buildGraph($className)
 {
     if ($this->enableObjectGraphDebug) {
         echo 'Building an object from the class: ' . $className . "<br />";
     }
     try {
         $reflection = new \ReflectionClass($className);
     } catch (\Exception $e) {
         if ($this->enableObjectGraphDebug) {
             echo 'Could not build a reflection class for ' . $className . "<br />";
         }
         return false;
     }
     if (!$reflection->getConstructor()) {
         if ($this->enableObjectGraphDebug) {
             echo 'We have build an object for class ' . $className . "<br />";
         }
         return new $className();
     }
     $constructorParameters = $reflection->getConstructor()->getParameters();
     $dependencies = [];
     foreach ($constructorParameters as $param) {
         try {
             $paramClassName = $param->getClass();
         } catch (\Exception $e) {
             throw new \Exception('Could not create dependency class "' . $param->getName() . '" for the currently building class: ' . $className);
         }
         if (!$paramClassName) {
             switch (true) {
                 case $this->controllerPluginManager->has($param->name, false):
                     if ($this->enableObjectGraphDebug) {
                         echo 'The parameter "' . $param->name . '" exists in Controller Manager' . "<br />";
                     }
                     $dependencies[] = $this->controllerPluginManager->get($param->name);
                     break;
                 case $this->serviceManager->has($param->name, false):
                     if ($this->enableObjectGraphDebug) {
                         echo 'The parameter "' . $param->name . '" exists in Service Manager' . "<br />";
                     }
                     $dependencies[] = $this->serviceManager->get($param->name);
                     break;
                 default:
                     if ($param->isOptional()) {
                         $dependencies[] = $param->getDefaultValue();
                     } else {
                         if ($this->enableObjectGraphDebug) {
                             echo 'The parameter "' . $param->name . '" does not exist in (any) Service Manager' . "<br />";
                         }
                         echo 'The parameter "' . $param->name . '" does not exist in the Service Manager' . "<br />";
                         die;
                     }
                     break;
             }
         } else {
             if ($this->enableObjectGraphDebug) {
                 echo 'Does the SM have an object for ' . $param->getClass()->name . "<br />";
             }
             switch (true) {
                 case $this->controllerPluginManager->has($param->getClass()->name, false, false):
                     if ($this->enableObjectGraphDebug) {
                         echo 'It does in the Controller Plugin Manager' . "<br />";
                     }
                     $dependencies[] = $this->controllerPluginManager->get($param->getClass()->name);
                     break;
                 case $this->viewHelperManager->has($param->getClass()->name, false, false):
                     if ($this->enableObjectGraphDebug) {
                         echo 'It does in the View Helper Manager' . "<br />";
                     }
                     $dependencies[] = $this->viewHelperManager->get($param->getClass()->name);
                     break;
                 case $this->formElementManager->has($param->getClass()->name, false, false):
                     if ($this->enableObjectGraphDebug) {
                         echo 'It does in the Form Element Manager' . "<br />";
                     }
                     $dependencies[] = $this->formElementManager->get($param->getClass()->name);
                     break;
                 case $this->serviceManager->has($param->getClass()->name, false, false):
                     if ($this->enableObjectGraphDebug) {
                         echo 'It does in the Service Manager' . "<br />";
                     }
                     $name = $param->getClass()->name;
                     if ($this->serviceManager->hasAlias($name)) {
                         $config = $this->serviceManager->get('config')['service_manager'];
                         $name = $config['aliases'][$name];
                     }
                     $dependencies[] = $this->serviceManager->get($name);
                     break;
                 default:
                     if ($this->enableObjectGraphDebug) {
                         echo 'No it It does not have an object' . "<br />";
                     }
                     if ($param->getClass()->isInterface()) {
                         continue;
                     }
                     $dependencies[] = $this->buildGraph($param->getClass()->name);
                     break;
             }
         }
     }
     $instance = $reflection->newInstanceArgs($dependencies);
     if (in_array($className, $this->serviceManager->get('config')['service_manager']['shared'])) {
         $this->serviceManager->setAllowOverride(true);
         $this->serviceManager->setService($className, $instance);
         $this->serviceManager->setAllowOverride(false);
     }
     if ($this->enableObjectGraphDebug) {
         echo 'We have build an object for class ' . $className . "<br />";
     }
     if ($this->enableObjectGraphDebug) {
         echo ' ==== ' . "<br />";
     }
     return $instance;
 }
Esempio n. 27
0
 public function setUp()
 {
     $elementManager = new FormElementManager();
     $elementManager->setServiceLocator(new ServiceManager());
     $this->factory = new FormFactory($elementManager);
 }