hostnet/form-twig-bridge

此包已被弃用,不再维护。未建议替代包。

允许使用 Symfony 3 表单框架,以 Twig 渲染,而不必使用全部的 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

未维护,在 Hostnet 内未使用

接受拉取请求

form-twig-bridge

如果你

  • 想使用 Symfony 2 表单组件
  • 带有 Twig 渲染
  • 但又不想使用全部的 Symfony 2

它受到 Bernhard Schussek 的 standalone-forms 的启发。

如果你想在 Symfony 1 应用程序中使用不仅仅是表单框架,那么 hnDependencyInjectionPlugin 可能更适合你。

Total Downloads Build Status

安装

  1. 下载 Composer.
  2. 将其添加到你的 composer.json 中
"require": {
    "hostnet/form-twig-bridge": ">=1.0"
}

  1. 使用构建器创建一个 FormFactory 和一个配置正确的 Twig_Environment
    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. 使用表单工厂创建你的表单,请参阅 symfony 文档
  3. 如果你使用 Twig 模板:像平常一样使用表单工厂和 twig 环境
  4. 如果你使用 PHP 模板,使用 PhpRenderer 的 公共方法。用 new PhpRenderer($twig_environment) 初始化它

可选配置选项

构建器

  • enableAnnotationMapping 启用 doctrine 注解映射(需要 doctrine/annotations
  • addFormExtension 添加你的自定义表单扩展

TwigEnvironmentBuilder

  • prependTwigLoader 在 form-twig-bridge 添加的加载器之前添加额外的 twig 加载器。你始终可以自己添加加载器,即使在构建之后。
  • setFormTheme 用于自定义表单主题,请注意,你将必须添加一个加载器来加载你的表单主题

变更日志

1.1.0

  • 现在与 Symfony 2.7.0 兼容
  • 为与 Symfony 3.0 兼容,已弃用 setCsrfProvider,并改用 setCsrfTokenManager

1.0.1

  • 现在可以在完整的 Symfony2 框架中使用。

1.0

  • 从 Symfony 2.1 升级到 Symfony 2.3。
  • [重大更改] 向 Builder 中添加了 setTranslator
  • [重大更改] 从 TwigEnvironmentBuilder 中移除了 setLocale

运行单元测试

  1. 自己克隆仓库
  2. 进入克隆的目录
  3. 运行 composer.phar install
  4. 运行 phpunit