0

所以我在停止编程几年后尝试学习phpOOP,所以我有点生疏。

无论如何,我有一个 blogEntry 类,因此我可以通过例如回显 $blogEntry->article 来显示已使用 cleanForDisplay 函数清理的博客条目。但是我没有收到任何错误,并且没有显示变量。

谢谢

class blogEntry
 {
  var $headline;
  var $author;
  var $date;
  var $image;
  var $imagecaption;
  var $article;

  public function __contruct()
  {
    $this->headline = cleanForDisplay($row['headline']);
    $this->author = cleanForDisplay($row['postedby']);
    $this->imagecaption = cleanForDisplay($row['imagecaption']);
    $this->article = cleanForDisplay($row['article']);
    $this->image = $row['image'];
    $this->date = $row['date'];
  }
}
4

2 回答 2

3

您有一个错字,魔术方法是__construct()并且您没有收到任何错误,因为构造函数在 PHP 中不是必需的。

此外,$row未定义变量,因此即使使用构造函数,您的字段也将为空。

于 2013-07-22T21:42:09.497 回答
3

你的方法拼写错误。它应该是__construct().

其次,您没有将任何参数传递给该方法,因此$row是未定义的。

考虑以下:

public function __construct($row)
{
 $this->headline = cleanForDisplay($row['headline']);
 $this->author = cleanForDisplay($row['postedby']);
 $this->imagecaption = cleanForDisplay($row['imagecaption']);
 $this->article = cleanForDisplay($row['article']);
 $this->image = $row['image'];
 $this->date = $row['date'];
}

$row作为参数传入,因此,您尝试设置的变量将被定义。

该类blogEntry可以如下初始化:

$blogEntry = new blogEntry($rowFromDB);
于 2013-07-22T21:43:29.533 回答