Symfony 4 - 如何在其他控制器页面上打印表单输入?

Symfony 4 - How can I print form input on other controller page?

在 symfony 4 中,我有一个输入名称为 form[phone].

的表单
<input id="phone" class="phone-input" type="text" name="form[phone]" />

现在,当我单击提交表单并转到操作路径时,代码为:

$phone = $request->request->all();
dump($phone);die();

打印这个:

array:1 [▼
  "form" => array:3 [▼
    "phone" => "phone-value"
    "submit" => ""
    "_token" => "qiYeKA32Sw1FXKoTHbW5TkbNFXpo7KWnDejwEGEqGxo"
  ]
]

但是当我使用这段代码时:

$phone = $request->request->get('form[phone]');
dump($phone);die();

打印这个:

null

我该如何解决这个问题?

这是有效的。打印值 phone

  $phone2 = $request->request->get('form');
        $phone2 = $phone2['phone'];
        dump($phone2);die();

  $phone2 = $request->request->get('form')['phone'];
            dump($phone2);die();

更新答案

我猜你创建了一个类似这样的表单

 $form = $this->createFormBuilder()
        // ...
        ->getForm(); 

您必须使用对象 form 然后调用 handleRequest() 方法,用于处理表单提交:

 $form->handleRequest($request);
 $phone = $form->get('phone')->getData()
 dump($phone);die();