Skip to content
Snippets Groups Projects
Select Git revision
  • main
  • php84
  • 5x
  • 6.1.6
  • 6.1.5
  • 6.1.4
  • 6.1.3
  • 6.1.2
  • 6.1.1
  • 6.1.0
  • 6.0.3
  • 6.0.2
  • 6.0.1
  • 6.0.0
  • 5.0.3
  • 5.0.2
  • 5.0.1
  • 4.0.1
  • 5.0.0
  • 4.0.0
20 results

ValidationInstanceControllerFactory.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ValidationInstanceControllerFactory.php 1.53 KiB
    <?php
    
    namespace UnicaenValidation\Controller;
    
    use Interop\Container\ContainerInterface;
    use Psr\Container\ContainerExceptionInterface;
    use Psr\Container\NotFoundExceptionInterface;
    use UnicaenValidation\Form\ValidationInstance\ValidationInstanceForm;
    use UnicaenValidation\Service\ValidationInstance\ValidationInstanceService;
    use UnicaenValidation\Service\ValidationType\ValidationTypeService;
    
    class ValidationInstanceControllerFactory {
    
        /**
         * @param ContainerInterface $container
         * @return ValidationInstanceController
         * @throws ContainerExceptionInterface
         * @throws NotFoundExceptionInterface
         */
        public function __invoke(ContainerInterface $container) : ValidationInstanceController
        {
            /**
             * @var ValidationInstanceService $validationInstanceService
             * @var ValidationTypeService $validationTypeService
             */
            $validationInstanceService = $container->get(ValidationInstanceService::class);
            $validationTypeService = $container->get(ValidationTypeService::class);
    
            /**
             * @var ValidationInstanceForm $validationInstanceForm
             */
            $validationInstanceForm = $container->get('FormElementManager')->get(ValidationInstanceForm::class);
    
            $controller = new ValidationInstanceController();
            $controller->setValidationInstanceService($validationInstanceService);
            $controller->setValidationInstanceForm($validationInstanceForm);
            $controller->setValidationTypeService($validationTypeService);
            return $controller;
        }
    }