debug_backtrace

(PHP 4 >= 4.3.0, PHP 5)

debug_backtraceGénère le contexte de déboguage

Description

array debug_backtrace ([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit = 0 ]] )

debug_backtrace() génère un contexte de déboguage PHP.

Liste de paramètres

options

Depuis PHP 5.3.6, ce paramètre est un masque d'options suivantes :

Options pour la fonction debug_backtrace()
DEBUG_BACKTRACE_PROVIDE_OBJECT Si l'on doit ou non peupler l'index "object".
DEBUG_BACKTRACE_IGNORE_ARGS Si l'on doit ou non omettre l'index "args" et donc tous les arguments de la fonction/méthode pour économiser de la mémoire.
Avant PHP 5.3.6, les seules valeurs reconnues sont TRUE ou FALSE, ce qui revenait à, respectivement, définir ou non l'option DEBUG_BACKTRACE_PROVIDE_OBJECT.

limit

Depuis 5.4.0, ce paramètre peut être utilisé pour limiter le nombre de trames dans la pile retournée. Par défaut (limit=0), la fonction retourne toutes les trames de la pile.

Valeurs de retour

Retourne un tableau de tableaux associatifs. Les éléments de retour possibles sont les suivants :

Éléments possibles de retour de la fonction debug_backtrace()
Nom Type Description
function chaîne de caractères Le nom de la fonction courante. Voir aussi __FUNCTION__.
line entier Le numéro de la ligne courante. Voir aussi __LINE__.
file chaîne de caractères Le nom du fichier courant. Voir aussi __FILE__.
class chaîne de caractères Le nom de la classe courante. Voir aussi __CLASS__.
object objet L'objet courant.
type chaîne de caractères Le type de classe courante. Si une méthode est appelée, "->" est retourné. Si une méthode statique est appelée, "::" est retourné. Si une fonction est appelée, rien ne sera retourné.
args tableau Si à l'intérieur d'une fonction, ceci liste des arguments. Si dans un fichier inclus, ceci liste des fichiers inclus.

Historique

Version Description
5.4.0 Le paramètre optionnel limit a été ajouté.
5.3.6 Le paramètre provide_object a été modifié en options et d'autres options DEBUG_BACKTRACE_IGNORE_ARGS ont été ajoutées.
5.2.5 Ajout du paramètre optionnel provide_object.
5.1.1 Ajout de l'objet courant comme élément de retour possible.

Exemples

Exemple #1 Exemple avec debug_backtrace()

<?php
// filename: /tmp/a.php

function a_test($str)
{
  echo "\nHi: $str";
  var_dump(debug_backtrace());
}

a_test('friend');
?>

<?php
// filename: /tmp/b.php
include_once '/tmp/a.php';
?>

Résultat de l'exécution de /tmp/b.php :

Hi: friend
array(2) {
  [0]=>
    array(4) {
      ["file"] => string(10) "/tmp/a.php"
      ["line"] => int(10)
      ["function"] => string(6) "a_test"
      ["args"]=>
        array(1) {
          [0] => &string(6) "friend"
        }
    }
  [1]=>
    array(4) {
      ["file"] => string(10) "/tmp/b.php"
      ["line"] => int(2)
      ["args"] =>
        array(1) {
          [0] => string(10) "/tmp/a.php"
        }
      ["function"] => string(12) "include_once"
    }
}

Voir aussi

LoadingChargement en cours