[PHP] Afficher les stack traces dans une fonction ou un objet

function debugPrintStackTraces() {
  $trace = debug_backtrace();
  foreach($trace as $i => $call) {
    if (is_object($call['object'])) { $call['object'] = 'CONVERTED OBJECT OF CLASS '.get_class($call['object']); }
    if (is_array($call['args'])) {
      foreach ($call['args'] AS &$arg) {
        if (is_object($arg)) { $arg = 'CONVERTED OBJECT OF CLASS '.get_class($arg); }
      }
    }
    echo '<li>'.$i.' '.$call['file'].'('.$call['line'].') ';
    echo (!empty($call['object'])?$call['object'].$call['type']:'');
    echo $call['function'].'('.implode(', ',$call['args']).')</li>';
  }
}

Commentaires

1. Commentaire de custom essays le mercredi 2 février 2011

I disagree with this line
echo (!empty($call'object')?$call'object'.$call'type':'');


About the Author

Ted Marklor est un web designer, un web developer et un génie de la nature. Transcendant le web depuis bientôt 15 ans, Ted est une source d’inspiration et de conseil pour toute une génération de jeunes programmeurs. Le Web 2.0, c’est lui. Dans la vie, il aime aussi faire des avions en papier, s’inventer des pseudonymes et une vie de winner, et surtout parler de lui à la troisième personne. Ça se fait en ce moment sur les blogs…


Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.