Debugging
Cosa significa debugging
Sezione intitolata “Cosa significa debugging”Fare debugging significa cercare e correggere un problema nel codice. Non e indovinare: e osservare con ordine.
var_dump
Sezione intitolata “var_dump”var_dump mostra valore e tipo.
<?php$eta = "25";var_dump($eta);Output possibile:
string(2) "25"Questo ti dice che $eta sembra un numero, ma in realta e una stringa.
print_r
Sezione intitolata “print_r”print_r e comodo per array.
<?php$utente = ["nome" => "Luca", "eta" => 28];print_r($utente);Output:
Array( [nome] => Luca [eta] => 28)Mostrare gli errori durante lo studio
Sezione intitolata “Mostrare gli errori durante lo studio”In ambiente di sviluppo puoi attivare la visualizzazione degli errori.
<?phperror_reporting(E_ALL);ini_set('display_errors', '1');Attenzione: su un sito pubblico non mostrare errori tecnici agli utenti. Possono rivelare dettagli interni del progetto.
Log degli errori
Sezione intitolata “Log degli errori”PHP puo scrivere errori nei log del server. I log sono file dove vengono registrati problemi e informazioni utili.
Quando lavori su un hosting o un server, cerca la sezione dedicata agli error log.
Un metodo ordinato
Sezione intitolata “Un metodo ordinato”Quando qualcosa non funziona:
- riproduci il problema
- controlla il messaggio di errore
- stampa le variabili importanti con
var_dump - verifica una riga alla volta cosa succede
- togli le stampe di debug quando hai finito
Il debugging migliora con la pratica. L’importante e fare un passo alla volta.
Restringere il punto del problema
Sezione intitolata “Restringere il punto del problema”Quando una pagina e lunga, non cercare tutto insieme. Metti piccole stampe in punti strategici.
<?phpecho "Prima del calcolo\n";
$totale = $prezzo * $quantita;
echo "Dopo il calcolo\n";var_dump($totale);Se vedi il primo messaggio ma non il secondo, il problema e tra i due punti.
Controllare i dati ricevuti
Sezione intitolata “Controllare i dati ricevuti”Molti problemi nascono da dati diversi da quelli che immagini.
<?phpvar_dump($_POST);Questa stampa ti mostra tutti i campi arrivati dal form. Usala solo durante lo sviluppo e rimuovila quando hai finito.
Diario del bug
Sezione intitolata “Diario del bug”Per problemi difficili, scrivi tre righe:
- cosa mi aspettavo
- cosa succede davvero
- quale valore controllo adesso
Questo ti impedisce di cambiare codice a caso. Il debugging diventa una piccola indagine ordinata.