Heim >Backend-Entwicklung >PHP-Tutorial >So drucken Sie den Aufrufstapel in PHP
Im angegebenen PHP-Code ruft die Funktion child_func() die Funktion parent_func() auf, die wiederum die Funktion grandparent_func() aufruft und so einen Aufrufstapel generiert.
Empfohlenes Lernen: „PHP-Tutorial“
Die drei Methoden zum Drucken von PHP-Aufrufstapeln sind wie folgt:
Methode 1: Verwenden Sie die Funktion debug_print_backtrace() , um den Aufrufstapel zu drucken.
Beispiel:
<?php // 用于打印PHP调用堆栈的PHP程序 //调用函数parent_func function child_func() { parent_func(); } // 调用grandparent_func函数 function parent_func() { grandparent_func(); } // 函数的作用是:打印调用堆栈 function grandparent_func() { debug_print_backtrace(); } //主函数调用 child_func(); ?>
Ausgabe:
#0 grandparent_func() called at [/home/905a3b4d90f10b30521fedcb56c99fba.php:12] #1 parent_func() called at [/home/905a3b4d90f10b30521fedcb56c99fba.php:7] #2 child_func() called at [/home/905a3b4d90f10b30521fedcb56c99fba.php:21]
Methode 2: Verwenden Sie die Funktion debug_backtrace() , um den Aufrufstapel zu drucken .
Beispiel:
<?php // 用于打印PHP调用堆栈的PHP程序 //函数调用parent_func function child_func() { parent_func(); } // 函数调用grandparent_func function parent_func() { grandparent_func(); } // 函数的作用是:打印调用堆栈 function grandparent_func() { var_dump(debug_backtrace()); } // 主函数调用 child_func(); ?>
Ausgabe:
array(3) { [0]=> array(4) { ["file"]=> string(42) "/home/2b81f040639170c49a6a58adb23d5154.php" ["line"]=> int(12) ["function"]=> string(16) "grandparent_func" ["args"]=> array(0) { } } [1]=> array(4) { ["file"]=> string(42) "/home/2b81f040639170c49a6a58adb23d5154.php" ["line"]=> int(7) ["function"]=> string(11) "parent_func" ["args"]=> array(0) { } } [2]=> array(4) { ["file"]=> string(42) "/home/2b81f040639170c49a6a58adb23d5154.php" ["line"]=> int(21) ["function"]=> string(10) "child_func" ["args"]=> array(0) { } } }
Methode 3: Die Memberfunktion getTraceAsString() der Exception-Klasse gibt einen Aufrufstapel zurück.
Beispiel:
<?php // 用于打印PHP调用堆栈的PHP程序 //函数调用parent_func function child_func() { parent_func(); } // 函数调用grandparent_func function parent_func() { grandparent_func(); } // 函数的作用是:打印调用堆栈 function grandparent_func() { $e = new Exception; var_dump($e->getTraceAsString()); } // 主函数调用 child_func(); ?>
Ausgabe:
string(207) "#0 /home/8d8303d43667a4915d43dab7d63de26d.php(12): grandparent_func() #1 /home/8d8303d43667a4915d43dab7d63de26d.php(7): parent_func() #2 /home/8d8303d43667a4915d43dab7d63de26d.php(22): child_func() #3 {main}"
In diesem Artikel geht es um drei Methoden zum Drucken des Aufrufstapels in PHP. Ich hoffe, er wird hilfreich sein Freunde, die Hilfe brauchen!
Das obige ist der detaillierte Inhalt vonSo drucken Sie den Aufrufstapel in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!