ฟังก์ชัน xdebug_get_function_stack

ฟังก์ชัน xdebug_get_function_stack ส่งคืนอาร์เรย์ที่มีข้อมูลเกี่ยวกับสแต็กการเรียกฟังก์ชันในปัจจุบัน แต่ละองค์ประกอบของอาร์เรย์คืออาร์เรย์เชื่อมโยงที่มีข้อมูลเกี่ยวกับการเรียก การทำงานของฟังก์ชันนี้ต้องใช้ส่วนขยาย Xdebug ที่ติดตั้งแล้ว

ไวยากรณ์

phpxdebug_get_function_stack();

ตัวอย่าง

ตัวอย่างง่ายๆ ในการรับสแต็กการเรียก:

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

ผลลัพธ์จากการเรียกใช้โค้ด:

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

ตัวอย่าง

ตัวอย่างที่มีการเรียกฟังก์ชันแบบซ้อนกัน:

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

ผลลัพธ์จากการเรียกใช้โค้ด:

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' => []
  ]
]

ดูเพิ่มเติม

  • ฟังก์ชัน debug_backtrace,
    ซึ่งส่งคืนข้อมูลที่คล้ายกันเกี่ยวกับสแต็กการเรียก