Fonction xdebug_get_function_stack

La fonction xdebug_get_function_stack retourne un tableau contenant des informations sur la pile d'appels des fonctions courante. Chaque élément du tableau représente un tableau associatif avec des données sur l'appel. Le fonctionnement de cette fonction nécessite l'extension Xdebug installée.

Syntaxe

phpxdebug_get_function_stack();

Exemple

Un exemple simple d'obtention de la pile d'appels :

php<?php
  function test() {
    var_dump(xdebug_get_function_stack());
  }
  test();
?>

Résultat de l'exécution du code :

php[
  [
    'function' => 'test',
    'file' => '/path/to/file.php',
    'line' => 4,
    'params' => []
  ],
  [
    'function' => '{main}',
    'file' => '/path/to/file.php',
    'line' => 5,
    'params' => []
  ]
]

Exemple

Exemple avec des appels de fonctions imbriqués :

php<?php
  function inner() {
    return xdebug_get_function_stack();
  }
  function outer() {
    return inner();
  }
  $res = outer();
  print_r($res);
?>

Résultat de l'exécution du code :

php[
  [
    'function' => 'inner',
    'file' => '/path/to/file.php',
    'line' => 3,
    'params' => []
  ],
  [
    'function' => 'outer',
    'file' => '/path/to/file.php',
    'line' => 6,
    'params' => []
  ],
  [
    'function' => '{main}',
    'file' => '/path/to/file.php',
    'line' => 8,
    'params' => []
  ]
]

Voir aussi

  • la fonction debug_backtrace,
    qui retourne des informations similaires sur la pile d'appels