Le principe de l'évolution est beaucoup plus rapide en informatique que chez le bipède.
Les méthodes magiques en php sont d’une grande efficacité, d’où leur
utilisation massive dans les applications web. Le but ici n’étant pas
de vous faire une présentation de ces méthodes nous allons focaliser
sur la méthode magique __toString().
La méthode __toString, permet au sein d’une classe, d’indiquer la
procédure à suivre lorsque l’on essaye de caster l’objet en une chaîne
de caractère. Le problème rencontré étant que cette méthode magique ne
doit pas « jeter d’exception» , sinon l’erreur fatale
suivante surviendra
__toString() must not throw an exception
Cela est donc très embêtant pour gérer les erreurs, à ce demander ce
qu’on fait les développeurs de Zend lorsqu’ils ont choisi d’interdire
la remontée des exceptions au sein de cette méthode.
Ce qui nous intéresse ici c’est donc de quand même pouvoir gérer les
erreurs convenablement au sein de la méthode magique __toString
Voici notre solution:
public function __toString() { try { return $this->render(); } catch ( Exception $e ) { } }
Cette solution vous permettra de gérer correctement vos exceptions lancées au sein de la méthode magique __toString