我正在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
答案 0 :(得分:0)
createFormBuilder()
already returns a newly created FormBuilder
object因此您无需创建新的对象。通过尝试使用new
,它正在尝试创建一个新的DefaultController
并访问一个对Controller内部私有的函数(或类似的东西 - 不要因为这个问题而起诉我一个因为它只是试图解释为什么使用new $this
是错误的。)
您的解决方案是删除new
中的$this->createFormBuilder()
:
$form = $this->createFormBuilder($cvBase);