所以我在停止编程几年后试图学习phpOOP,所以我有点生疏。
无论如何,我有一个类blogEntry,所以我可以通过echo'ing $ blogEntry->文章显示已使用函数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'];
}
}
答案 0 :(得分:3)
你有一个拼写错误,魔术方法是__construct()
,你没有收到任何错误,因为构造函数在PHP中不是强制性的。
此外,未定义$row
变量,因此即使使用构造函数,您的字段也将为null。
答案 1 :(得分: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);