gpt4 book ai didi

symfony - 在 Symfony2 Controller 上获取表单参数

转载 作者:行者123 更新时间:2023-12-02 06:19:50 25 4
gpt4 key购买 nike

我有这个例子的 Symfony2 文档的基本形式、模板和 Controller 操作。

每当我尝试在 Controller 操作中获取表单参数时,我都必须使用它:

$parameters = $request->request->all();
$name = $parameters["form"]["name"];

但是,在文档中使用这个:

$name = $request->request->get('name');

但这对我来说是错误的,在这种情况下 $name 是 null 并且 Object request(ParameterBag) 包含这个:

object(Symfony\Component\HttpFoundation\ParameterBag)#8 (1) {
["parameters":protected]=>
array(1) {
["form"]=>
array(1) {
["name"]=>
string(4) "test"
}
}
}

最佳答案

$formPost = $request->request->get('form');
$name = $formPost['name'];

或者从 PHP 5.4 开始

$name = $request->request->get('form')['name'];

在我看来,访问提交数据的最佳方式是首先将请求绑定(bind)到表单,然后从 Form 对象访问值:

if ('POST' === $request->getMethod())
{
$form->bindRequest($request); //Symfony 2.0.x
//$form->bind($request); //Symfony 2.1.x

$name = $form->get('name')->getData();
}

关于symfony - 在 Symfony2 Controller 上获取表单参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378184/

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