Ora che abbiamo chiarito tutti gli aspetti principali delle variabili passiamo al concetto opposto, ovvero le costanti.

Una costante non è altro che una variabile il cui contenuto non può cambiare per alcun motivo durante l’esecuzione del programma.

L’uso delle costanti è utile perché permette di parametrizzare la nostra pagina.
Pensiamo semplicemente ad un programma che controlla una serie di dati in ingresso e controlla che questi non superino una certa soglia.

Il programma è realizzabile per esempio scrivendo il valore della soglia direttamente nel codice, ma se dobbiamo fare decine di confronti usando lo stesso valore cosa succede quando vogliamo cambiare questo valore? Semplicemente dobbiamo rileggere l’intero codice e sostituire a mano il valore.
Alcuni potrebbero aver pensato di utilizzare una variabile da inizializzare prima dei confronti con il valore desiderato.
Questa soluzione è perfettamente legittima e funziona ma se ci pensate non è concettualmente giusta visto che il valore non cambierà mai.

Per questo sono nate le costanti che in PHP vengono definite in una maniera molto simile al C tramite la funzione define() che accetta in ingresso due parametri.
Il primo è il nome della costante mentre il secondo è il valore che dovrà assumere.

Per richiamare una costante non si dovrà far altro che scrivere il nome questa volta senza usare il simbolo del dollaro “$”.

<?php
 
/* definisce le due costanti per il controllo dei dati */
define ('PRESSURE_THRESHOLD_LO' , 75 );
define ('PRESSURE_THRESHOLD_HI' , 190);
 
/* controlla che il valore della pressione sia nel range */
 
if (($val <= PRESSURE_THRESHOLD_LO) ||
    ($val >= PRESSURE_THRESHOLD_HI)) {
	/* c'è stato un errore */
	echo "errore: pressione non nel range: $val";
}
 
?>

Esistono poi alcune costanti che il PHP stesso definisce nel momento in cui esegue un determinato script che possono essere veramente utili.

Ad esempio PHP_VERSION e PHP_OS ritornano rispettivamente il numero di versione e il sistema operativo su cui il PHP viene eseguito.
Possono risultare utili per permettere l’esecuzione di parti di codice che richiedono delle caratteristiche speciali di un dato sistema operativo o di una versione in particolare.

Poi esistono le usatissime TRUE e FALSE il cui valore mi pare ovvio.

Altre due costanti molto importanti sono __FILE__ e __LINE__ che permettono di sapere in qualsiasi momento in quale file e a quale linea ci troviamo.

Per finire esistono alcune costanti che contengono eventuali messaggi di errore del PHP.

<?php
 
echo TRUE;  /* stampa sempre vero */
echo FALSE; /* stampa sempre falso */
 
echo PHP_VERSION; /* versione del PHP */
echo PHP_OS;      /* nome del sistema operativo */
 
echo __FILE__; /* stampa il nome del file */
echo __LINE__; /* stampa il numero di linea corrente */
 
echo E_NOTICE;
echo E_WARNING;
echo E_ERROR;
echo E_PARSE;
 
?>

vicius