vendor/fri0z/mldev-form-bundle/src/Service/FormProvider.php line 21

Open in your IDE?
  1. <?php
  2. namespace MLDev\FormBundle\Service;
  3. use MLDev\FormBundle\Form\FormBuilder;
  4. use Symfony\Component\Form\Exception\InvalidConfigurationException;
  5. use Symfony\Component\Form\Extension\Core\Type\FormType;
  6. use Symfony\Component\Form\FormFactoryInterface;
  7. class FormProvider
  8. {
  9.     private $parameters;
  10.     /**
  11.      * FormProvider constructor.
  12.      * @param $parameters
  13.      */
  14.     public function __construct(FormFactoryInterface $formFactory$parameters)
  15.     {
  16.         $this->parameters $parameters;
  17.         $this->formFactory $formFactory;
  18.     }
  19.     public function getForm($formName)
  20.     {
  21.         list('elements' => $elements) = $this->getFormConfigByName($formName);
  22.         $formBuilder $this->formFactory->createNamedBuilder($formNameFormBuilder::class, null, [
  23.             'elements' => $elements
  24.         ]);
  25.         return $formBuilder->getForm();
  26.     }
  27.     public function getFormConfigByName($formName)
  28.     {
  29.         if (!isset($this->parameters[$formName])) {
  30.             throw new InvalidConfigurationException(
  31.                 sprintf('The %s form does not exist.'$formName)
  32.             );
  33.         }
  34.         return $this->parameters[$formName];
  35.     }
  36. }