Debug delle funzioni in PHP con debug_print_backtrace
Per eseguire il debug in PHP, generalizzando, siamo soliti usare la funzione var_dump.
Ma ha dei limiti, in quando esegue il dump solo di ciò che gli è passato come argomento.
Se vogliamo fare il debug di una funzione, andando a vedere anche da dove è stata chiamata inizialmente, possiamo usare un'ottima funzione: debug_print_backtrace!
Vediamo due esempi banali.
Nel primo le funzioni non hanno nessun parametro:
function a() {
b();
}
function b() {
debug_print_backtrace();
}
a();
A video dovreste vedere una cosa del genere:
#0 b() called at [/var/www/debug_stack.php:4]
#1 a() called at [/var/www/debug_stack.php:11]
Se fate prove con più funzioni, avrete altre righe di chiamata.
In pratica risale sempre alla chiamata iniziale.
Questo un esempio con parametri:
function a($arg) {
b('funzione b');
}
function b($arg) {
debug_print_backtrace();
}
a('funzione a');
La risposta sarà questa:
#0 b(funzione b) called at [/var/www/debug_stack.php:4]
#1 a(funzione a) called at [/var/www/debug_stack.php:11
Potete anche "sopprimere" il debug dei parametri richiamando la funzione in questo modo:
debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
In questo caso l'output sarà come il primo.
Tenete a mente questa funzione per i vostri debug!
Enjoy!
php debug debug_print_backtrace var_dump
Commentami!