Utilizzo di XDebug per il debug dei progetti PHP
XDebug è uno strumento indispensabile per lo sviluppo PHP, che offre potenti funzionalità di debug, analisi delle prestazioni e copertura del codice. Con XDebug, gli sviluppatori possono impostare breakpoint nel codice, controllare i valori delle variabili, tracciare lo stack delle chiamate di funzione, analizzare i colli di bottiglia nelle prestazioni, ecc., migliorando così notevolmente l'efficienza dello sviluppo PHP e la qualità del codice.
Introduzione a XDebug
XDebug è un'estensione PHP che fornisce funzionalità di debug e analisi. Consente agli sviluppatori di impostare breakpoint nel codice, eseguire il codice passo dopo passo, verificare i valori delle variabili e lo stato del programma, aiutandoli a comprendere e fare debug del codice in modo più efficace.
Abilitare XDebug e configurare l'ambiente di debug
ServBay viene fornito con XDebug incluso per ogni versione di PHP.
Attenzione
Consultare l'articolo Come abilitare il modulo Xdebug fornito da ServBay per informazioni su come attivare il modulo XDebug
e configurare PHPStorm
.
Esempio concreto di debug
Struttura del progetto di esempio
Supponiamo di avere un semplice progetto PHP con la seguente struttura delle directory:
servbay_xdebug_app/
├── src/
│ └── Calculator.php
└── index.php
2
3
4
Il contenuto del file Calculator.php
è il seguente:
<?php
namespace App;
class Calculator
{
public function add($a, $b)
{
return $a + $b;
}
public function subtract($a, $b)
{
return $a - $b;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Il contenuto del file index.php
è il seguente:
<?php
require 'vendor/autoload.php';
use App\Calculator;
$calculator = new Calculator();
$sum = $calculator->add(5, 3);
$difference = $calculator->subtract(5, 3);
echo "Somma: " . $sum . "\n";
echo "Differenza: " . $difference . "\n";
2
3
4
5
6
7
8
9
10
11
Impostare un breakpoint
Vogliamo fare il debug del metodo add
della classe Calculator
per vedere come viene eseguito. Aprire il file Calculator.php
in PHPStorm e impostare un breakpoint sulla riga return $a + $b;
.
Avviare una sessione di debug
- In PHPStorm, fare clic sul pulsante
Start Listening for PHP Debug Connections
nella barra degli strumenti in alto (icona del piccolo insetto). - Nel browser, visitare la tua applicazione PHP, ad esempio
https://servbay-xdebug-app.test/index.php
.
Processo di debug
- Quando il browser accede a
index.php
, XDebug si connetterà automaticamente a PHPStorm e si fermerà all'esecuzione al breakpoint impostato. - In PHPStorm si vedrà il codice fermarsi nella riga
return $a + $b;
del metodoadd
nel fileCalculator.php
.
Controllare i valori delle variabili
- Nella finestra di debug di PHPStorm, è possibile vedere la riga di codice corrente, lo stack delle chiamate, i valori delle variabili, ecc.
- Nel pannello
Variables
, è possibile vedere i valori delle variabili$a
e$b
che sono rispettivamente5
e3
.
Esecuzione passo passo
- Fare clic sul pulsante
Step Over
(o premereF8
) per eseguire il codice passo dopo passo. - Osservare i cambiamenti nei valori delle variabili, assicurarsi che il metodo
add
ritorni il risultato corretto.
Continuare l'esecuzione
- Fare clic sul pulsante
Resume Program
(o premereF9
) per continuare l'esecuzione del codice. - Il programma continuerà a funzionare fino a quando non incontra il prossimo breakpoint o termina l'esecuzione.
Visualizzare l'output
- Nel browser, vedere il risultato dell'output, dovrebbe mostrare:
Somma: 8 Differenza: 2
1
2
Conclusione
Grazie a XDebug, gli sviluppatori possono facilmente impostare breakpoint nel codice PHP, controllare i valori delle variabili, eseguire il codice passo dopo passo, comprendere e fare debug del codice in modo più efficace. Nell'effettivo sviluppo, la funzionalità di debug con breakpoint di XDebug può aiutare gli sviluppatori a individuare e risolvere rapidamente i problemi, migliorando l'efficienza dello sviluppo e la qualità del codice. Attraverso l'esempio concreto di debug sopra descritto, possiamo vedere la potenza e la comodità di XDebug nel debug dei progetti PHP.