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:

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++;
        }
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...).

Pas de soucis, j'effectue le changement suivant :
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++;
        }
J'obtiens alors l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Notice: Undefined property: DateTime::$date
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 ).
Si quelqu'un a une explication sur ce phénomène, je suis preneur...