|
Scritto da Luciano viviani
|
|
require()
L'istruzione require() include e valuta il file specifico. Informazioni dettagliate su come funziona
quest'inclusione sono descritte nella documentazione di include().
require() e include() sono identiche in ogni senso eccetto per come esse trattano gli errori.
include() produce un Warning mentre require() restituisce un Fatal Error. In altre parole, non esitate
ad usare require() se volete che un file mancante fermi l'esecuzione della pagina. include() non si
comporta in questo modo, lo script continuerà nonostante tutto. Assicuratevi di avere un appropriato
include_path impostato a dovere.
<?php
require 'prepend.php';
require $qualche_file;
require ('qualche_file.txt');
?>
include()
L'istruzione include(), include e valuta il file specificato.
La documentazione seguente si applica anche a require(). I due costrutti sono identici in ogni aspetto
eccetto per come essi trattano gli errori.
Quando un file viene incluso, il codice che esso contiene eredita lo scope delle variabili della riga in cui si
verifica l'inclusione. Qualsiasi variabile disponibile in quella riga nella chiamata al file sarà disponibile
all'interno del file chiamato, da quel punto in avanti.
vars.php
<?php
$colore = 'verde';
$frutto = 'mela';
?>
test.php
<?php
echo "Una $frutto $colore"; //Output: Una
include 'vars.php';
echo "Una $frutto $colore"; //Output: Una mela verde
?>
Quando un file viene incluso, il parsing esce dalla modalità PHP e entra in modalità HTML all'inizio del file
incluso, e riprende alla fine. Per questa ragione, qualunque codice all'interno del file incluso che dovrebbe
essere eseguito come codice PHP deve essere incluso all'interno dei tag PHP validi di apertura e chiusura.
Se "URL fopen wrappers" nel PHP sono abilitati (come nella configurazione di default), potete specificare il
file da includere usando un URL (via HTTP) invece che un percorso locale.
Poichè include() e require() sono speciali costrutti di linguaggio, dovete includerli all'interno di
blocchi di istruzioni se si trovano in un blocco condizionale.
<?php
// Questo NON VA BENE e non funzionerà come desiderato.
if ($condizione)
include $file;
else
include $un_altro;
// Questo è CORRETTO.
if ($condizione) {
include $file;
} else {
include $un_altro;
}
?>
|