debug_backtrace

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

debug_backtraceGénère le contexte de débogage

Description

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

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

Liste de paramètres

options

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.

Note:

Il existe quatre combinaisons possibles :

Options de debug_backtrace()
debug_backtrace() Alimente les deux index
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)
debug_backtrace(1)
debug_backtrace(0) Omet l'index "object" et remplit l'index "args".
debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) Omet l'index "object"et l'index "args".
debug_backtrace(2)
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS) Remplit l'index "object"et omet l'index "args".
debug_backtrace(3)
limit

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()
NomTypeDescription
functionchaîne de caractères Le nom de la fonction courante. Voir aussi __FUNCTION__.
lineentier Le numéro de la ligne courante. Voir aussi __LINE__.
filechaîne de caractères Le nom du fichier courant. Voir aussi __FILE__.
classchaîne de caractères Le nom de la classe courante. Voir aussi __CLASS__.
objectobjet L'objet courant.
typechaî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é.
argstableau Si à l'intérieur d'une fonction, ceci liste des arguments. Si dans un fichier inclus, ceci liste des fichiers inclus.

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

To Top