gpt4 book ai didi

symfony - createFormBuilder()在哪里?

转载 作者:行者123 更新时间:2023-12-02 18:27:15 27 4
gpt4 key购买 nike

我正在使用 symfony2 和 FOSUserBundle

我想在 ProfileController 中使用“createFormBuilder”

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

use Symfony\Component\HttpFoundation\Response;
use Acme\UserBundle\Entity\AttrMutor;


class ProfileController extends ContainerAware
{
$attrMutor = new AttrMutor();
$form = $this->createFormBuilder($attrMutor);

它显示如

FatalErrorException: Error: Call to undefined method Acme\UserBundle\Controller\ProfileController::createFormBuilder() 

我该如何解决这个问题?

我可以在其他 Controller 中使用 $this->createFormBuilder,例如

class DefaultController extends Controller
{
$attrMutor = new AttrMutor();
$form = $this->createFormBuilder($attrMutor); //OK

我认为 extends ContainerAware 和 extends Controller 之间存在一些差异

最佳答案

createFormBuilder 方法位于 Symfony 的 Controller 基类中。 (http://api.symfony.com/2.3/index.html?q=createFormBuilder)

如果您只想让 Controller 扩展 ContainerAware 而不是 Controller,您仍然可以从服务容器获取表单构建器:

$builder = $this->container->get('form.factory')->createBuilder('form', $data, $options);

关于symfony - createFormBuilder()在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19084566/

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