The form handlers are designed to enhance the developer experience (DX) when working with Symfony forms. It makes the controllers simpler by moving the form success and failure flows to a separate class.
class YourController extends Controller
{
public function formAction(Request $request, MyEntityUser $user)
{
$handler = $this->get('hostnet.form_handler.factory')->create(MyFormHandler::class);
if (($response = $handler->handle($request, new MyFormData())) instanceof RedirectResponse) {
return $response;
}
// regular or in-valid flow
return $this->render->renderView('/your/form.html.twig', [
'form' => $handler->getForm()->createView()
]);
}
}
By extracting the success - and if available, the failure - flows, you reduce the amount of code in your controllers, which in turn, achieves slim controllers. The definition of a controller is according to Symfony: "a PHP function you create that reads information from the Symfony's Request object and creates and returns a Response object".
- Read the installation guide when using composer.
- This bundle and the component follow semantic versioning strictly.
- Read the Getting Started guide if you are new to form handlers.
- You can find the full documentation on our github wiki pages.
- If you are migrating from 1.1 to 1.2 or 2.x, check the migration guide.
- The legacy documentation for 1.1 is still available but upgrading is recommended.
The hostnet/form-handler-bundle
is licensed under the MIT License, meaning you can reuse the code within proprietary software provided that all copies of the licensed software include a copy of the MIT License terms and the copyright notice.
- We are available on the symfony-devs slack server in #hostnet-form-handlers.
- Or via our email: opensource@hostnet.nl.