hostnet/form-twig-bridge

This package is abandoned and no longer maintained. No replacement package was suggested.

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

2.0.1 2016-02-23 08:03 UTC

This package is auto-updated.

Last update: 2022-02-01 12:23:37 UTC


README

Not maintained, not in use within Hostnet

Pull requests will be accepted

form-twig-bridge

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

Installation

  1. Download Composer.
  2. Add to your composer.json
"require": {
    "hostnet/form-twig-bridge": ">=1.0"
}

  1. 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
        ->setCsrfTokenManager($csrf)
        ->setTranslator($translator_builder->build())
        ->createTwigEnvironmentBuilder()->build();
    $factory = $builder->buildFormFactory();
    
  2. Use the form factory to create your form, see the symfony docs.
  3. If you use Twig templates: Use the form factory and the twig environment like you'd normally do
  4. If you use PHP templates, use the public methods of the PhpRenderer. Initialize it with new PhpRenderer($twig_environment)

Optional configuration options

Builder

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

TwigEnvironmentBuilder

  • 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

Changelog

1.1.0

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

1.0.1

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

1.0

  • 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