Я использую новые классы даты PHP (ish) для календаря / планировщика, который я разрабатываю. Я пытаюсь расширить DateInterval, чтобы ограничить интервал определенными размерами, такими как 1 год, 1 месяц, 1 неделя или 1 день. Расширенный класс будет использоваться для создания представления календаря.
Я получаю сообщение об ошибке PHP: неизвестное свойство (дни), когда я запускаю следующий метод.
private function adjust(){
//to zero all the DateInterval properties except the one I want
$adjustments = array ('y'=>0, 'm'=>0, 'd'=>0,
'h'=>0, 'i'=>0, 's'=>0,
'invert'=>0, 'days'=>0);
if($this->y>=1 || $this->days>180){
$adjustments['y']=1; //1 year
} else if ($this->m>6){
$adjustments['y']=1; //1 year
} else if ($this->m>=1){
$adjustments['m']=$this->m; //multiple months less than 6
} else if ($this->d>7){
$adjustments['m']=1; //1 month
} else if ($this->d>1){
$adjustments['d']=7; //1 week
} else {
$adjustments['d']=1; //1 day
}
foreach($adjustments as $k=>$v){
$this->$k=$v; //reset all the class properties
}
}
Есть идеи, почему? Что касается документации , то 'дни' должны быть действительными.