Salta ai contenuti
Manuale LogoManuale Logo

Debugging

Fare debugging significa cercare e correggere un problema nel codice. Non significa indovinare, ma osservare con ordine.

var_dump mostra valore e tipo.

<?php
$eta = "25";
var_dump($eta);

Output possibile:

string(2) "25"

Il risultato mostra che $eta sembra un numero, ma in realtà è una stringa.

print_r è comodo per gli array.

<?php
$utente = ["nome" => "Luca", "eta" => 28];
print_r($utente);

Output:

Array
(
[nome] => Luca
[eta] => 28
)

In ambiente di sviluppo puoi attivare la visualizzazione degli errori.

<?php
error_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.

PHP può scrivere gli errori nei log del server. I log sono file in cui vengono registrati problemi e informazioni utili.

Quando lavori su un hosting o un server, cerca la sezione dedicata agli error log.

Quando qualcosa non funziona:

  1. riproduci il problema
  2. controlla il messaggio di errore
  3. stampa le variabili importanti con var_dump
  4. verifica una riga alla volta cosa succede
  5. togli le stampe di debug quando hai finito

Il debugging migliora con la pratica. L’importante è procedere un passo alla volta.

Quando una pagina è lunga, non cercare tutto insieme. Inserisci piccole stampe in punti scelti.

<?php
echo "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 è tra i due punti.

Molti problemi nascono da dati diversi da quelli attesi.

<?php
var_dump($_POST);

Questa stampa ti mostra tutti i campi arrivati dal form. Usala solo durante lo sviluppo e rimuovila quando hai finito.

Per problemi difficili, scrivi tre righe:

  1. cosa mi aspettavo
  2. cosa succede davvero
  3. quale valore controllo adesso

Così eviti di cambiare codice a caso e trasformi il debugging in un’indagine ordinata.