Я использую PHP-классы (ish) Date для календаря/планировщика, который я разрабатываю. Я пытаюсь расширить DateInterval, чтобы ограничить интервал до конкретных размеров, таких как 1 год, 1 месяц, 1 неделя или 1 день. Расширенный класс будет использоваться для создания календаря., расширяющий DateInterval, неизвестная ошибка свойства
Я получаю ошибку 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
}
}
Любая идея почему? Насколько кажется documentation, «дни» должны быть действительными.
Извините, не могу помочь, не нужно устанавливать PHP5.3 для тестирования. Но вполне возможно, что значения 'print_r()' являются значениями «только для чтения», которые генерируются «на лету». – soulmerge