
In WordPress, e quindi in PHP, le funzioni include, require, include_once e require_once servono per includere file esterni all’interno di uno script.
Tuttavia, ci sono alcune differenze chiave tra di loro:
include
La funzione include() importa il file specificato e il file può essere incluso più volte.
Se il file non esiste o contiene errori, PHP genera un warning (avviso) ma lo script continua l’esecuzione.
include 'file.php'; // Se file.php non esiste, PHP emette un warning ma continua l'esecuzione.
require
La funzione require() importa il file specificato che può essere importato più di una volta.
Se il file non esiste o contiene errori, PHP genera un fatal error, interrompendo l’esecuzione dello script.
require 'file.php'; // Se file.php non esiste, PHP interrompe l'esecuzione con un fatal error.
include_once
La funzione include_once() funziona come include, ma garantisce che il file venga incluso una sola volta durante l’esecuzione dello script, evitando duplicati.
Se il file non è presente, viene generato un warning ma lo script continua l’esecuzione.
include_once 'file.php'; // Se il file è già stato incluso, non verrà caricato nuovamente.
require_once
La funzione require_once() funziona come require, ma garantisce che il file venga incluso una sola volta durante l’esecuzione dello script, evitando duplicati.
Se il file non esiste o contiene errori, PHP genera un fatal error, interrompendo l’esecuzione dello script.
require_once 'file.php'; // Se il file è già stato incluso, non verrà caricato nuovamente.
Differenze principali
| Funzione | Se il file non esiste | Carica più volte? |
|---|---|---|
include | Warning (continua) | Sì |
require | Fatal error (stop) | Sì |
include_once | Warning (continua) | No |
require_once | Fatal error (stop) | No |
Ma quindi quale usare?
- Se il file è essenziale per l’esecuzione del programma (es. file di configurazione, connessione al database),
require_once(usarequire). - Se il file non è critico, puoi usare
include_once(oinclude) per evitare che lo script si blocchi in caso di errore. - Per prevenire duplicazioni, preferisci sempre
include_onceerequire_once.
Personalmente mi trovo ad usare soprattutto il require e require_once.


