Utilizzo di include e require nel linguaggio PHP.
ALLWEB free
Directory Web Script Linguaggi
Italiano Inglese Tutte
 
 24 Mar 2017
aggiungi in preferiti  
Home    Mappa directory    Script




Include e Require:

I costrutti Include e Require permettono di inserire file esterni in una pagina web.

Questi costrutti rivestono un importantissimo ruolo nel linguaggio PHP. Tramite il loro utilizzo il webmaster può suddividere le pagine in più parti, per poi richiamarle quando necessita.
Il vantaggio sussiste nel fatto di dover modificare soltanto una pagina web e non tutte le pagine che contengono quel codice.
Immaginiamo di dover inserire un menù in tutte le pagine del nostro sito. Se in futuro vogliamo modificarlo dovremo modificare tutte le pagine, se al contrario il menù è formato da una singola pagina inclusa in tutte le altre pagine basterà modificare solo una pagina per modificare tutto il sito.

Le applicazioni di queste due funzioni non sono solo pratiche, infatti tramite l'inclusione di pagine all'interno di cicli è possibile creare pagine dinamiche con il minimo di sforzo.

Per la costruzione di script complessi è importante sapere che le pagine inserite con i costrutti include e require possono contenere altri include o require.

Include:

<? include("nome_file.php"); ?>

La sintassi è molto semplice ed intuitiva. Include permette di includere file all'interno di una pagina o script, e si attiva ogni volta che è richiesto dal programma.
Se sussiste un problema genera un errore di tipo "warning" ma la pagina o lo script viene comunque eseguito.

Per essere sicuri di NON vedere un eventuale errore a video è possibile far precedere l'istruzione dal simbolo chiocciolina @. Esempio:
<? @include("nome_file.php"); ?>



Require:

<? require("nome_file.php"); ?>

Anche per require la sintassi è molto semplice. Permette di inserire un file o script in una pagina web. La differenza dal comando include è che comunque sia strutturato il programma, il file contenuto dal costrutto require verrà inserito nel listato (anche se un ciclo IF non permette di proseguire, le istruzioni verranno comunque lette dalla macchina host).
Questo perché require è un costrutto del linguaggio che costringe ad inserire il file contenuto al posto della riga require.
Se sussiste un problema genera un errore di tipo "Fatal Error" ed interrompe la compilazione della pagina o script.



NOTE:

  • Sia include che require possono contenere URL, ossia file che sono depositati su server esterni al sito.
  • Possiamo inserire l'URL con il metodo get per modificare il valore delle variabili prima di essere inserite nel file di destinazione.
  • Entrambe le funzioni inseriscono il codice all'interno della pagina come codice HTML. Questo vuol dire che anche se inseriamo include o require fra i tag di inizio e fine programmazione PHP (es. <? ... ?>), il file che richiamiamo se contiene codice PHP deve essere contenuto fra i tag di inizio e fine programmazione PHP.

    Esempio:
    <? include("nome_file.php"); ?>
    Il codice di nome_file.php dovrà essere (se contiene codice PHP):
    <?
    ....
    ?>



Errori:

1) Come abbiamo detto require e include inseriscono del codice in una parte del programma.
In programmi complessi potrebbe accadere che il richiamo di più file porti la macchina host a leggere più require o include uguali fra loro.
Questa situazione potrebbe creare dei problemi di ridefinizione di funzioni oppure nuovi assegnazioni di valore alle variabili, generando errori che non permettono di proseguire con il programma.
In questi casi si usano i costrutti
require_once(nome_file.php);
oppure
include_once(nome_file.php);
che in pratica verificano se un file è già stato inserito ed evitano che si reinserisca un'altra volta.

2) Cicli condizionali:
Quando inseriamo un include in un ciclo if lo dobbiamo inserire con la seguente sintassi:
<?
if (....){
include("nome_file.php");
}
else{
include("nome_file2.php");
}
?>
IMPORTANTE ricordarsi delle parentesi graffe!!!