debug_backtrace
(PHP 4 >= 4.3.0, PHP 5)
debug_backtrace — Gé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. TRUE
ouFALSE
, ce qui revenait à, respectivement, définir ou non l'optionDEBUG_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 :
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
- trigger_error() - Déclenche une erreur utilisateur
- debug_print_backtrace() - Affiche la pile d'exécution PHP