- Pubblicato il
Debug primitivo di applicazioni PHP
- Autori
- Name
- Maico Orazio
- @mainick
Se vi trovate alla ricerca di errori in una pagina PHP, è possibile senza alcun IDE utilizzare queste semplici funzioni di PHP.
echo
Mostrare il testo all’utente; quindi anche variabili.
<?php echo "HELLO WORLD"; ?>
N.B. echo non è una funzione PHP, ma è un costrutto, per questo non richede l’uso di parentesi tonde.
var_dump
La funzione var_dump mostra il tipo e il valore di una variabile nello stream dell’output (in realtà è possibile assegnarvi più di una variabile: la funzione elabora il risultato di qualsiasi espressione PHP valida). Nel caso delle stringhe, var_dump restituisce anche il numero di caratteri che compongono la stringa:
<?php
$randomNum = array(5, 3, 6, 4, 2, 1);
var_dump($randomNum);
?>
Il codice precedente genera in un browser web il seguente output:
array(6) { [0]=> int(5) [1]=> int(3) [2]=> int(6)
[3]=> int(4) [4]=> int(2) [5]=> int(1) }
print_r
La funzione print_r è simile a var_dump, ma cerca di rendere leggibile l’output agli utenti. print_r permette anche di specificare un valore facoltativo (chiamato parametro di una funzione) che indica alla funzione di restituire i risultati in una stringa e non di mostrarli nello stream di output.
L’output particolarmente leggibile generato da questa funzione è utile soprattutto per oggetti e array.
<?php
$drinks = array("Coffee", "Café au Lait", "Mocha", "Espresso", "Americano", "Latte");
print_r($drinks);
?>
Lo script precedente mostra il seguente output in un browser web:
Array ([0] => Coffee [1] => Café [2] => Mocha
[3] => Espresso [4] => Americano [5] => Latte )
var_export
L’ultimo di questo gruppo di funzioni utili per la visualizzazione delle variabili e del loro contenuto è la funzione var_export, anch’essa molto simile a var_dump, tranne per il fatto che l’output è costituito da una rappresentazione valida di codice PHP dei valori contenuti nelle variabili fornite come parametro.
Per esempio, il seguente script:
<?php
$arr = array(1, 2, 3, 4);
var_export($arr);
?>
produce il seguente output (formattato per una lettura più semplice):
array (
0 => 1,
1 => 2,
2 => 3,
3 => 4
)