J'utilise les nouvelles classes de date (ish) de PHP pour un calendrier/planificateur que je développe. J'essaie de prolonger DateInterval afin que je limite l'intervalle à des tailles particulières comme 1 an, 1 mois, 1 semaine ou 1 jour. La classe étendue sera utilisée pour générer la vue du calendrier.extends DateInterval, erreur de propriété inconnue
Je reçois l'erreur PHP: Propriété inconnue (jours) lorsque j'exécute la méthode suivante.
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
}
}
Une idée pourquoi? Autant que le documentation semble suggérer, les «jours» devraient être valides.
Désolé, ne peut pas aider, ne pas avoir une installation de PHP5.3 pour tester. Mais il est bien possible que les valeurs 'print_r()' soient des valeurs "readonly" qui sont générées à la volée. – soulmerge