Che differenze ci sono tra require, include, require_once e include_once in PHP? In questo articolo scopriamo non solo questo, ma anche quando usarle.
Se stai leggendo questo articolo, è molto probabile che ti sia posto queste due domande:
- Quando dovrei usare require oppure include?
- Quando dovrei invece fare uso di require_once altrimenti include_once?
Andiamo con ordine.
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Che differenze ci sono tra “require” e “include”
Queste due funzionalità di PHP in verità fanno la stessa identica cosa.
Con un’eccezione interessante.
Require gestisce gli errori in modo differente.
Quando avviene un errore all’interno dell tuo file PHP ed è stata invocata la funzione “require()”, questo viene gestito come “fatal error”.
In altre parole l’esecuzione dello script si interrompe senza proseguire.
Vediamo un attimo cosa succede con “include()”.
Quello che succede a fronte di un errore in fase di esecuzione, è generare un warning, quindi un avviso, tuttavia lo script prosegue nella sua esecuzione.
Quale delle due è meglio usare quindi?
Ovviamente la risposta più dura che si possa dare: dipende!
Dipende dalla natura dell’errore. È un errore che compromette in maniera grave le funzioni offerte dal tuo file? Oppure no?
Forse è meglio ragionarci e magari scoprire che tecniche di debug utilizzare 😉
Ora che abbiamo capito che differenze ci sono tra require ed include, andiamo oltre!
Che differenze ci sono tra “require_once” e “include_once”
In base a quanto detto prima succede questo.
Rispetto alle loro due funzioni gemelle, la differenza sta nella verifica di cosa si sta includendo o richiedendo!
In altre parole, lo script prima di proseguire nella sua esecuzione, controlla che il file che si sta includendo oppure richiedendo non sia già stato incluso o richiesto all’interno del proprio file PHP.
In questo modo, si evita che venga aggiunto un’altra volta non necessariamente.
Conclusioni
Abbiamo visto quali sono le differenze tra require, include, require_once e include_once in PHP, tuttavia potresti trovare interessante ciò che viene espresso nel manuale ufficiale di PHP.
Per essere ancora più precisi e se la tua sete di conoscenza non fosse estinta, per ciò che concerne la prima parte di questo articolo puoi trovare una risposta qui, per la seconda invece ti basta un click qui.
2 commenti
grazie molto chiara la spiegazione!
Ciao Angelina!
Grazie a te, ne sono ben lieto 🙂