Skip to content

angyvolin/silex-lazy-types

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

silex-lazy-types

Lazily loads form types defined as services.

Registering

$app->register(new Angyvolin\Provider\LazyTypesProvider());

Usage

  • Define your form type in the service container:
  $app['my_form_service_id'] = $app->factory(function (Container $app) {
      return new MyForm($app['some_myform_dependency']);
  });
  • Provide a mapping between your form type FQN and it's service id by extending 'form.types.lazy' service:
  $app->extend('form.types.lazy', function ($types) {
      $types[MyForm::class] = 'my_form_service_id';

      return $types;
  });
  • Use form type FQN while building the form:
  $form = $app['form.factory']
      ->createBuilder(MyForm::class)
      ->getForm();

You've done! Your newly created form type will be instantiated lazily with all needed dependencies during form building process.

About

Lazily loads form types defined as services.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages