Una pratica comune è quella di separare il codice di un programma scritto in PHP in file diversi e quindi chiamarli l’uno o l’altro quando è necessario per una particolare applicazione. Così, si può ridurre significativamente la dimensione del codice da caricare e impedire di caricare quelli che non abbiamo bisogno.
Per includere il codice di un file in un altro con PHP è possibile utilizzare una di queste funzioni:
Copia codice
<?php
include("percorso/script.php");
include_once("percorso/script.php");
require("percorso/script.php");
require_once("percorso/script.php");
?>
include()
o require()
? Dovrei usare include()
o include_once()
?.require() vs include()
⤽
Entrambe le funzioni inseriscono il codice in un file all’interno di un altro. La differenza tra l’utilizzo di
Al contrario, se il file cui fa riferimento la funzione
A causa di queste differenze tra
Per esempio, se abbiamo uno script PHP per mostrare gli articoli sarebbe meglio usare
require()/include() vs require_once()/include_once()require()
o di include()
può essere dedotto dal loro nome: require()
stabilisce che il codice del file richiamato è necessario, cioè, è obbligatorio per il funzionamento del programma. Quindi, se il file specificato nel require()
non esiste salta fuori un “PHP Fatal error” e il programma PHP si ferma.Al contrario, se il file cui fa riferimento la funzione
include()
non viene trovato, viene fuori un errore di tipo “Warning” e il programma continuerà a funzionare (anche se come conseguenza della non inclusione del codice, lo script potrebbe non funzionare correttamente, oppure sì, a seconda del la situazione).A causa di queste differenze tra
include()
e require()
è più comune utilizzare la funzione require()
, perché è naturale che se si chiama il codice da un altro file è perché ne abbiamo bisogno. Tuttavia, è possibile riservare la chiamata alla funzione require()
per richiamare i files che contiene il codice che gestisce la logica di applicazione scritta in PHP, cioè, utilizzare require()
per richiamare il codice necessario, dove altrimenti il programma genererebbe errori fatali e quindi interromperebbe l’esecuzione del programma. La funzione include()
può essere utilizzata per chiamare dei files il cui codice non influenza altre parti del applicazione e, pertanto, non influenziano il resto del programma.Per esempio, se abbiamo uno script PHP per mostrare gli articoli sarebbe meglio usare
require()
e non include()
; per caricare il codice che fa delle query al database per ottenere gli articoli da visualizzare. Mentre si può usare include()
per richiamare i files contenenti codice html come il pié di pagina o un’altra parte di qualche altro template. In altre parole, se non riusciamo a caricare il codice che gestisce le informazioni dell’articolo da mostrare non avrebbe senso e sarebbe meglio usare il require()
che non trovando il file il programma viene interrotto; d’altra parte, se non esiste un codice html per il pié di pagina, le informazioni importanti della pagina, che è l’articolo, non vengono affettate e si può scegliere di utilizzare la funzione include()
.⤽
Le versioni
In un altro caso, il file script-b.php richiede il file script-c.php. Siccome il file script-b.php può essere eseguito da altre fonti diverse da script-a.php, allora, nel file script-b.php dovremmo scrivere:
Ora sapete le principali differenze tra l’utilizzo delle funzioni require e include di PHP e la sua versione require_once()
e include_once()
funzionano nello stesso modo come descritto sopra, eccetto che per utilizzando la versione _once impedisce il caricamento del file più di una volta. Se includiamo lo stesso codice più di una volta si rischia di ridichiarare le variabili, le funzioni o le classi. Si potrebbe pensare, quindi, che è meglio utilizzare sempre require_once()
o include_once()
invece di require() e include(). Tuttavia, dobbiamo sapere che le versioni _once sono più pesanti e consumano più risorse, quindi bisognerebbe usarle solo quando necessario.
Il file script-a.php richiede i files script-b.php e script-c.php. Vale a dire, nel file script-a.php sarà scritto:
Copia codice
<?php
require("script-b.php");
require("script-c.php");
?>
Copia codice
<?php
//verifica se il file non è già stato caricato
require_once("script-c.php");
?>
require_once()
e include_once()
. Spero che queste nozioni siano utili al momento di scegliere la funzione necessaria per l’esecuzione e il funzionamento dell’applicazione.
Ancora nessun commento