在Symfony中发送复选框值的数组,可以通过使用表单来实现。以下是实现的步骤:
CheckboxType
或ChoiceType
。use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('checkboxValues', CheckboxType::class, [
'label' => 'Checkbox Values',
'choices' => [
'Option 1' => 'option1',
'Option 2' => 'option2',
'Option 3' => 'option3',
],
'expanded' => true,
'multiple' => true,
]);
}
}
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
class MyController extends AbstractController
{
/**
* @Route("/form", name="form")
*/
public function form(Request $request)
{
$form = $this->createForm(MyFormType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$checkboxValues = $form->get('checkboxValues')->getData();
// 处理复选框值的数组
}
return $this->render('form.html.twig', [
'form' => $form->createView(),
]);
}
}
{# form.html.twig #}
{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}
在上述代码中,form_start
、form_widget
和form_end
是Symfony的表单模板函数,用于渲染表单的开始标签、表单字段和结束标签。
通过以上步骤,你可以在Symfony中创建一个包含复选框的表单,并在提交表单时获取复选框值的数组。根据具体的业务需求,你可以进一步处理这个数组的值。