我遵循了有关php OOP的一些教程,以及如何使用get / set函数,但是无法获取我的函数来设置类属性。我将代码简化到了尽头,仍然无法正常工作,但是我无法弄清楚自己在做什么错。
这是我的班级代码:
<?php
// Declare the class
class averageWeather {
public $maxtemperatureforecast;
public function setAverageWeather() {
$averageWeather->maxtemperatureforecast = '7';
$this->averageWeather = $averageWeather;
} //Close function setAverageWeather
public function getAverageWeather() {
return $this->averageWeather;
} //Close function getAverageWeather
} //Close Class averageWeather
然后我包含类文件并按如下方式调用它:
<?php
include '\classes\averageweather_class.php';
$dailyforecast = new averageWeather();
var_dump($dailyforecast);
var_dump向我显示了dailyforecast具有maxtemperatureforecast的属性,但其值为null。我不明白我在做什么错。
答案 0 :(得分:1)
您调用过任何函数吗?
如果您不先运行$dailyforecast->setAverageWeather()
,它将不会被设置!
此外,在该功能中,请更改为此
public function setAverageWeather() {
$this->maxtemperatureforecast = '7';
}
或者,您可以使其在构造函数中自动完成
public function __construct() {
$this->maxtemperatureforecast = '7';
}
减少了对您代码的额外调用。
最后一种方法是为其设置默认值
public $maxtemperatureforecast = 7;