Symfony2 独立表单组件 v2.3 - 设置表单
Posted
技术标签:
【中文标题】Symfony2 独立表单组件 v2.3 - 设置表单【英文标题】:Symfony2 standalone Form component v2.3 - setting up a form 【发布时间】:2013-05-02 05:36:33 【问题描述】:这与此处提出的问题相同:Symfony2 standalone form component - setting up a form。这个问题的answer 似乎完全解决了这个问题。
不幸的是,当被问到这个问题时,表单组件的版本是 2.0.x,此后发生了一些变化,例如,使用表单工厂创建表单就完全不同了,现在比较 old code 和 @987654324 @。
我环顾四周,但没有找到任何有关如何使用最新版本执行此操作的文档或示例。
使用 Symfony2 之外的表单组件的示例应用程序的任何更新版本?
【问题讨论】:
【参考方案1】:我有一个存储库,展示了 Symfony 2.1+ 的 Form 组件的独立用法,其中 Twig 和 php 作为模板引擎(检查分支):https://github.com/bschussek/standalone-forms/blob/2.1%2Btwig/src/setup.php
关键部分是您不应该再手动实例化FormFactory
对象(让我们的核心开发人员在更改其构造函数时更加灵活),而是改用Forms
类:
$formFactory = Forms::createFormFactoryBuilder()
->addExtension(new CsrfExtension($csrfProvider))
->addExtension(new ValidatorExtension($validator))
->getFormFactory();
另一个好处是您的 IDE 将列出表单工厂构建器的设置器,向您展示您可以配置的内容以及如何配置。
【讨论】:
如果您在 sf2 项目中重新创建 FormFactoryBuilder,您还可以将 sf2 加载的扩展添加到您的 Builder。$extensions = $this->get('form.registry')->getExtensions();
$formFactoryBuilder->addExtensions($extensions);
$formFactory = $formFactoryBuilder->getFormFactory();
我很好地利用了它。 // $this is a Controller
以上是关于Symfony2 独立表单组件 v2.3 - 设置表单的主要内容,如果未能解决你的问题,请参考以下文章