|
Fin qui abbiamo visto come utilizzare comandi contenuti in un singolo file. Le applicazioni Web sono però composte di
pagine, e ognuna di esse generalmente è composta da parti che si ripetono, come indici, intestazioni, piè di pagina. Per
questo motivo è utile (anzi, fondamentale) poter includere dinamicamente parti di pagina e altri elementi condivisi tra
più pagine. I comandi per le inclusioni sono due: require e include.
Per comprendere la differenza tra i due dobbiamo tenere presente che quando viene richiesta una pagina , viene
effettuata una fase preliminare di analisi del contenuto. Dopodiché, la pagina viene eseguita. Il comando require
viene eseguito una volta sola, quando la pagina viene analizzata, e prima di essere mandata in esecuzione. Per questo
motivo non si possono specificare come parametri variabili ma solo nomi di file costanti. Invece include viene
eseguita durante l'esecuzione di una pagina, e causa l'analisi di un altro file e la sua susseguente esecuzione. In questo
caso si possono utilizzare variabili per specificare i file da includere.
Per esempio,tipicamente una applicazione Web è composta da una pagina principale che ha una testatina un e piè di
pagine, ed esegue delle operazioni (derivate dalla form inviata al passo precedente). In base all'operazione richiesta
vengono inclusi dei file, e poi l'esecuzione con il file che deve gestire la richiesta. Il seguente listato mostra un
esempio di un caso tipico della pagina principale di una applicazione PHP.
<?
require("header.inc");
switch($next) {
case "list": include("list.inc"); break
case "new": include("new.inc"); break;
default: include("home.inc"); break;
}
require("footer.inc");
?>
NOTA: Le pagina richiesta sia da require che include vengono cercate nella directory corrente ed eventualmente
nelle directory specificate utilizzando l'opzione include_path del file php.ini (vedere paragrafo 6.7).
Il PHP prevede anche la possibilità di definire delle costanti. Ovviamente la cosa migliore è quella di specificarle in un
file a parte ed utilizzarle con require. Una costante viene definita con la funzione define, che definisce un
identificatore che può essere utilizzato, senza prefisso $, al posto del suo valore. Per esempio:
define( PIGRECO, "3.14");
echo PIGRECO;
=> 3.14
|