form.context
serviceSymfony\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' => ...
...
));