Includere un file con il PHP

Una delle caratteristiche più apprezzate e utilizzate dei linguaggi di scripting lato server è sicuramente la possibilità di includere in pezzo di codice, un altro pezzo di codice presente in un file esterno.

La possibilità di includere file con il Php è utile sia a livello di gestione del lay-out del sito, basta ad esempio pensare alla comodità di mettere l’header delle nostre pagine in un file esterno e poi includerlo, sia a livello di programmazione (manco a dirlo l’inclusione della stringa di connessione al database).
Ovviamente gestire bene i file che includiamo può renderci molto più semplice la gestione delle modifiche.

Anche se può sembrare banale, il codice Php contenuto in un file incluso viene eseguito, in pratica prima vengono presi tutti i pezzi e poi viene eseguito il file ottenuto come se fosse un file unico.

Il Php ci consente di consente anche l’inclusione dei file dinamica, cioè il nome del file da includere può essere contenuto in una variabile.
Arriviamo al sodo, l’inclusione avviene mediante la funzione include()

include('percorso relativo del file');

In realtà in termini di linguaggio si potrebbe fare anche l’inclusione di file remoti, ma in pratica nessun server lo consente, almeno questa è la mia esperienza personale.
L’include ha una variazione ossia:

include_once('percorso relativo del file');

L’include_once fa si che il file venga incluso un’unica volta, ossia, se è già stato incluso non viene incluso nuovamente. Questa versione è comoda nel caso includiamo file che al loro interno contengono classi o funzioni, infatti la doppia definizione di classi o funzioni generera un errore.

Se includiamo un file che non esiste mediante l’include, il Php ci tornerà un warning ma continuerà l’esecuzione del programma.
Esite la versione “bloccante” dell’include, ossia il require().

require('percorso relativo del file');
require_once('percorso relativo del file');

Queste due funzioni includono il file, secondo le stesse regole dell’include, ma se il file non esiste, bloccano l’esecuzione del codice.