Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony:我应该为这个表单使用FormBuilder吗?_Php_Forms_Symfony - Fatal编程技术网

Php Symfony:我应该为这个表单使用FormBuilder吗?

Php Symfony:我应该为这个表单使用FormBuilder吗?,php,forms,symfony,Php,Forms,Symfony,我正在尝试寻找如何创建此表单的最佳实践,我有一个实体,我想创建一个表单,该表单将列出所有实体以及每个实体的复选框,用户可以使用复选框选择多个实体,并将操作应用于所有所选实体,如下所示: -Actions --- Remove --- Disable --- Enable # , Title , Desc [] , title1 , This is a desc one [] , Title2 , this is a desc two [] , Title3 , th

我正在尝试寻找如何创建此表单的最佳实践,我有一个实体,我想创建一个表单,该表单将列出所有实体以及每个实体的复选框,用户可以使用复选框选择多个实体,并将操作应用于所有所选实体,如下所示:

-Actions
--- Remove
--- Disable
--- Enable

#  , Title     , Desc
[] , title1    , This is a desc one
[] , Title2    , this is a desc two
[] , Title3    , this is a desc three

//[] is a checkbox
在不使用FormBuilder的情况下创建此表单非常简单,但正如我所看到的,symfony中的每个表单都应该是使用FormBuilder构建的

问题

  • 创建此表单的最佳实践是什么?如果它使用FormBuilder,我能看到什么例子吗?我在Symfony文档中找不到一个关于如何实现我所寻找的功能的示例

  • 如果在没有FormBuilder的情况下创建表单,如何实现CSRF保护


表单生成器非常适合于此。您可以使用实体类型,并将“多个”选项设置为true,这样您的实体列表就会带有复选框

对于可以创建链接到控制器函数的按钮的不同操作,请确保使用javascript将按钮转换为post请求,并将该操作指定为请求属性或其他内容:

e、 g


使用表单生成器。了解集合属性的工作原理。并了解如何制作模板。
<a href="{{ path('path_to_form_controller') }}" class="some_class">Remove</a>
switch ($action) {
    case 'remove':
        //do something
    break;
    default:
}