gpt4 book ai didi

symfony - Symfony2 中的表单上下文是什么

转载 作者:行者123 更新时间:2023-12-05 00:38:59 24 4
gpt4 key购买 nike

我开始使用 Symfony2,我正在尝试理解表单组件。我正在看这个页面 http://docs.symfony-reloaded.org/guides/forms/overview.html

我可以理解我们如何创建表单类,但令人困惑的是我们如何在 Controller 中实际使用这些表单。

$form = ContactForm::create($this->get('form.context'));

有没有人对此代码的 form.context 部分有更深入的解释,以及在 Controller 中使用表单背后的实际过程?

谢谢。

最佳答案

form.context服务是Symfony\Component\Form\FormContext默认对象。以下是此服务的完整定义:

    <service id="form.context" class="%form.context.class%">
<argument type="collection">
<argument key="validator" type="service" id="validator" />
<argument key="validation_groups">%form.validation_groups%</argument>
<argument key="field_factory" type="service" id="form.field_factory" />
<argument key="csrf_protection">%form.csrf_protection.enabled%</argument>
<argument key="csrf_field_name">%form.csrf_protection.field_name%</argument>
<argument key="csrf_provider" type="service" id="form.csrf_provider" />
</argument>
</service>

实际上它是一个非常简单的对象,它只准备了几乎所有表单都使用的一些基本选项,即。验证器、CSRF 保护和现场工厂。

事实上,您发布的代码相当于:
$form = new \Symfony\Components\Form\Form(null, array(
'validator' => $this->get('validator'),
'validation_groups' => ...
...
));

关于symfony - Symfony2 中的表单上下文是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4946624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com