dongliuxia9495 2013-12-23 22:57
浏览 59
已采纳

Enquiry.php中未定义的变量“name”(Symfony2)

I have been following this tutorial: tutorial.symblog.co.uk, and just finished up Part 2. I also followed what one of the users said in the comments about the deprecated functions that were part of the tutorial, and I fixed those in my code.

However, I still get the following error when I try to submit my form:

ContextErrorException: Notice: Undefined variable: name in /private_html/symfony/symblog/src/Blogger/BlogBundle/Entity/Enquiry.php line 22

I've looked through my Enquiry.php file, but haven't found anything.

Here it is:

<?php
// src/Blogger/BlogBundle/Entity/Enquiry.php

namespace Blogger\BlogBundle\Entity;

use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Constraints\Length;

class Enquiry {
    protected $name;
    protected $email;
    protected $subject;
    protected $body;

    public function getName() {
        return $this->name;
    }

    public function setName() {
        $this->name = $name; // Line 22
    }

    public function getEmail() {
        return $this->email;
    }

    public function setEmail() {
        $this->email = $email;
    }

    public function getSubject() {
        return $this->subject;
    }

    public function setSubject() {
        $this->subject = $subject;
    }

    public function getBody() {
        return $this->body;
    }

    public function setBody() {
        $this->body = $body;
    }

    public static function loadValidatorMetadata(ClassMetadata $metadata) {
        $metadata->addPropertyConstraint('name', new NotBlank())
            ->addPropertyConstraint('email', new Email())
            ->addPropertyConstraint('subject', new NotBlank())
            ->addPropertyConstraint('subject', new Length(array('max'=>50)))
            ->addPropertyConstraint('body', new Length(array('min'=>50)));
    }
}

Thanks in advance!

  • 写回答

1条回答 默认 最新

  • dqq9695 2013-12-23 23:02
    关注

    You forgot to pass the parameter into your setter

    public function setName($name) {
        $this->name = $name;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算