Bonjour,
Parmi les erreurs apparues lors du passage vers Symfony2.1 qui ne semblent pas liées à Symfony lui-même, celle-ci me laisse littéralement sur les fesses. Le code en lui-même est très simple et fonctionnait avec Symfony2.0.15:
J'obtiens une erreur me signifiant que le second argument doit être une chaîne de caractère alors qu'un objet a été donné. En effet, ma valeur $birthdate['birthdate'] est un objet de type datetime (mais pourtant cela fonctionnait en l'état avant la migration...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 foreach($birthdates AS $birthdate) { $deltaDays += \DateTime::createFromFormat('Y-m-d H:i:s', $birthdate['birthdate'])->diff(new \DateTime())->format('%a'); $count++; }
Pas de soucis, j'effectue le changement suivant :
J'obtiens alors l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 foreach($birthdates AS $birthdate) { $deltaDays += \DateTime::createFromFormat('Y-m-d H:i:s', $birthdate['birthdate']->date)->diff(new \DateTime())->format('%a'); $count++; }
Surpris, j'effectue un var_dump sur ma variable $birthdate['birthdate'] dans ma boucle. Et là, surprise, plus d'erreur ! Chacun de mes objets datetime est listé et ma page s'affiche normalement (à part la liste des objets datetime que je ne souhaite pas, bien entendu ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Notice: Undefined property: DateTime::$date
Si quelqu'un a une explication sur ce phénomène, je suis preneur...
Partager