CHa*_*awk 13 php variables private class
我收到错误"未定义的变量:C:\ wamp\www\DGC\classes\DateFilter.php中的间隔"
这是我的DateFilter类的代码:
class DateFilter extends Filter
{
//@param daysOld: how many days can be passed to be included in filter
//Ex. If daysOld = 7, everything that is less than a week old is included
private $interval;
public function DateFilter($daysOld)
{
echo 'days old' . $daysOld .'</ br>';
$interval = new DateInterval('P'.$daysOld.'D');
}
function test()
{
echo $interval->format("%d days old </br>");
//echo 'bla';
}
}
Run Code Online (Sandbox Code Playgroud)
当我创建一个DateFilter类的新实例并调用test()时,它会给我错误.我意识到这意味着变量尚未初始化,但我知道正在调用构造函数,因为我在其中放置了一个echo语句并且它是输出的.
我也尝试过:$ this :: $ interval-> format(...); 自:: $ interval->格式(...); 但它不起作用.
我知道这可能很容易解决,对于noob问题我很抱歉.简直不敢相信这让我难过.
Jon*_*art 35
您必须使用PHP $this->interval来访问成员变量interval.请参阅PHP:基础知识
class DateFilter extends Filter
{
private $interval; // this is correct.
public function DateFilter($daysOld)
{
$this->interval = new DateInterval('P'.$daysOld.'D'); // fix this
}
function test()
{
echo $this->interval->format("%d days old </br>"); // and fix this
}
}
Run Code Online (Sandbox Code Playgroud)