Symfony $ this->> createFormBuilder从控制器发出通知

时间:2014-10-28 19:16:24

标签: symfony

我正在Symfony做一个小项目,以获得这个框架的一些经验。目前我只是在制作自己的工具时使用教程,这是一个用来制作简历的GUI。

在我的控制器中,我正在调用$this->createFormBuilder($cvBase),它会抛出一个“未定义的属性”通知,我认为这很奇怪,因为我正在调用一个方法。

有谁知道造成这种情况的原因是什么?

<?php
// My php code
namespace NuiCart\CvToolBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use NuiCart\CvToolBundle\Entity\CvBase;
use Symfony\Component\HttpFoundation\Request;

class DefaultController extends Controller{

public function formAction(Request $request){
    $cvBase = new CvBase();    
    $form   = new $this->createFormBuilder($cvBase);

通知:

  

注意:未定义的属性:   NuiCart \ CvToolBundle \控制器\ DefaultController :: $ createFormBuilder   在   /var/www/devel/cv/public_html/src/NuiCart/CvToolBundle/Controller/DefaultController.php

     

第19行500内部服务器错误 - ContextErrorException

1 个答案:

答案 0 :(得分:0)

createFormBuilder() already returns a newly created FormBuilder object因此您无需创建新的对象。通过尝试使用new,它正在尝试创建一个新的DefaultController并访问一个对Controller内部私有的函数(或类似的东西 - 不要因为这个问题而起诉我一个因为它只是试图解释为什么使用new $this是错误的。)

您的解决方案是删除new中的$this->createFormBuilder()

$form = $this->createFormBuilder($cvBase);