2017 © Pedro Peláez
 

symfony-bundle easy-forms-bundle

Easy forms bundle

image

xis/easy-forms-bundle

Easy forms bundle

  • Monday, January 12, 2015
  • by xis
  • Repository
  • 1 Watchers
  • 1 Stars
  • 11 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Easy Forms Bundle for Symfony

Easy form flow handling in Symfony controllers., (*1)

Why?, (*2)

  • use really thin controllers
  • make your controller unit-testable easier
  • Do not Repeat Yourself implementing the boring form-subbmission code!

All you need is to use the @Form class annotation, for example:, (*3)

@Form("new_form",method="createCreateForm"), (*4)

With this annotation you can list all the forms used in current controller. The method attribute points to method that creates this particular form., (*5)

Now, you can annotate methods which "starts" form-flow with the @FormStarter and the methods which accepts form submission using the @FormAcceptor annotation., (*6)

The FormListener will handle the flow, it will create the form and inject it into the template parameters in form-starter methods, so you don't have to do it manually. Also, it will handle the acceptor; bind and validate the form. Note that the form-acceptor method is executed only if the form is valid, so the only thing you need to do in your form-acceptor method is to persist your fresh created/updated entity., (*7)

If the form submission fails, the flow stops at starter method - it will show the bound form with error message., (*8)

You can also "decorate" the form-acceptor behavior for failed forms. Use the rejector property to point a method which will be executed when form submission fails. This may be useful when you need to show some flash-messages or use some logging., (*9)

You may want to access the form in the form-acceptor method. To do this, use the param property of @FormAcceptor annotation and then, the form will be passed as the input parameter of form-acceptor method., (*10)

See the PostController class for example how to use those annotations. If you want to see how it works, check out the example symfony-project that uses this bundle., (*11)

Note that you need to use the @Template annotations in your form-starter controller, because FormListener needs to act before the view is rendered., (*12)

Installation

Just add the following line to the "require" section in your composer.json file:, (*13)

"xis/easy-forms-bundle": "~0.1"

Don't forget to update composer dependencies:, (*14)

composer.phar update

Then you need to update your AppKernel.php file and enable the bundle by adding the folowing entry to the $bundles array in registerBundles method:, (*15)

new Xis\EasyFormsBundle\XisEasyFormsBundle(),

And that's it., (*16)

MIT License

The bundle is distributed under the MIT license., (*17)

The Versions

12/01 2015

dev-master

9999999-dev

Easy forms bundle

  Sources   Download

MIT

The Requires

 

by Avatar xis

12/01 2015

0.1.2

0.1.2.0

Easy forms bundle

  Sources   Download

MIT

The Requires

 

by Avatar xis

12/01 2015

v0.1.1

0.1.1.0

Easy forms bundle

  Sources   Download

MIT

The Requires

 

by Avatar xis

11/01 2015

v0.1

0.1.0.0

Easy forms bundle

  Sources   Download

MIT

The Requires

 

by Avatar xis