Le mardi 12 février 2013, Anael a écrit :
> J'ai l'impression que tu mélanges quelques concepts de POO ;-)
Je ne crois pas, non. C'est juste que je ne comprend pas comment le
programme peut crasher dans un try/catch !!! Pour moi, y'a comme un
problème.
> Je pars du principe que le ->add() en question correspond bien à
> Datetime::add (http://php.net/manual/fr/datetime.add.php).
>
> Tu peux utiliser des méthodes sur des objets.
> $toto[$titi] ne contient pas d'objet, comme te l'indique l'erreur
> fatale. Si tu remontes d'un cran, tu vois que tu cherches l'indice
> '2012-12-11' dans ton tableau $toto ... et qu'il n'existe pas
Voui, tout à fait, puisque c'est la première fois qu'il le rencontre.
> (undefined index) ==> Ca crashe => exception
Ben, non, justement ! Ça crashe sans exception ! C'est là mon problème...
> Pour répondre à ta question : tu dois créer un objet de type dateTime
> dans ton array à l'indice voulu.
Voui, c'est ce que je fais dans le catch...
> Une fois que ton array sera "porteuse" de cet objet, tu pourras alors
> "appliquer" des méthodes à cet objet.
>
> Pour rester dans l'ioptique de la POO, je te conseille de passer à un
> ArrayObject au lieu de rester sur des array. Ca t'éviteras également ce
> genre de galères.
Ah, donc en php, on a des exceptions uniquement si on manipule des objets,
mais pas avec les autres 'entités' ? Une division par zéro, par exemple,
crash sans lever d'exception ?
--
Frédéric