Allows usage of the Symfony 2 form framework, rendered in twig, without using all of Symfony 2!

1.1.0 2015-06-01 08:55 UTC


This package might be nice for you if you

  • Want to use the Symfony 2 form component
  • With the Twig rendering
  • But don't want to use all of Symfony 2

It's inspired by Bernhard Schussek's standalone-forms.

If you want to use more then just the form framework, and you're inside a Symfony 1 application, maybe the hnDependencyInjectionPlugin is more suitable for you.

Total Downloads Build Status


  1. Download Composer.
  2. Add to your composer.json

    "require": {
        "hostnet/form-twig-bridge": ">=1.0"
  3. Use the builders to create a FormFactory and a Twig_Environment with the correct configuration:

    use Hostnet\FormTwigBridge\Builder;
    use Symfony\Component\Security\Csrf\TokenStorage\NativeSessionTokenStorage;
    $csrf = new NativeSessionTokenStorage();
    $translator_builder = new TranslatorBuilder();
    // $translator_builder->setLocale('nl_NL'); // Uncomment if you want a non-english locale
    $builder = new Builder();
    $environment = $builder
    $factory = $builder->buildFormFactory();
  4. Use the form factory to create your form, see the symfony docs.
  5. If you use Twig templates: Use the form factory and the twig environment like you'd normally do
  6. If you use PHP templates, use the public methods of the PHPRenderer. Initialize it with new PHPRenderer($twig_environment)

Optional configuration options


  • enableAnnotationMapping enables doctrine annotation mapping (requires doctrine/annotations)
  • addFormExtension adds your custom form extensions


  • prependTwigLoader adds additional twig loaders that are called before the loader added by the form-twig-bridge. You can always add loaders yourself, even after building.
  • setFormTheme for a custom form theme, note that you will have to add a loader that loads your form theme



  • Now works with Symfony 2.7.0
  • Deprecated setCsrfProvider in favour of setCsrfTokenManager for Symfony 3.0 compatibility


  • Can now be used inside a full-fletched Symfony2 framework.


  • Upgraded from Symfony 2.1 to Symfony 2.3.
  • [Breaking] Added setTranslator to Builder.
  • [Breaking] Removed setLocale from the TwigEnvironmentBuilder.

Running the unit-tests

  1. Clone the repository yourself
  2. Go to the directory of the clone
  3. Run composer.phar install
  4. Run phpunit