English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, imparerai come includere e valutare file in PHP.
Le istruzioni include() e require() possono includere il codice di un file PHP in un altro file PHP. L'inclusione di file produce lo stesso risultato di copiare lo script da un file specificato e incollarlo nella posizione che lo chiama.
Puoi risparmiare molto tempo lavorando con file inclusi - basta memorizzare i blocchi di codice in file separati e utilizzarli con le istruzioni include() e require() in qualsiasi posizione necessaria, senza dover digitare nuovamente l'intero blocco di codice. Un esempio tipico è includere file di intestazione, piè di pagina e menu in tutte le pagine del sito web.
La sintassi di base delle istruzioni include() e require() può essere fornita come segue:}}
include("path/to/filename"); O include "path/to/filename"; require("path/to/filename"); O require "path/to/filename";
Suggerimento:Come per le istruzioni print e echo, puoi omittire i parentesi quando si utilizzano le istruzioni include e require, come descritto sopra.
Esempio seguente mostrerà come includere il codice di intestazione, piè di pagina e menu comune archiviato in file separati come "header.php", "footer.php" e "menu.php" su tutte le pagine del sito. Utilizzando questa tecnica, è sufficiente modificare un file per aggiornare immediatamente tutte le pagine del sito, risparmiando così molto lavoro ripetitivo.
<!DOCTYPE html> <html> <head> <title>Guida di Base</title> </head> <?php include "header.php"; ?> <?php include "menu.php"; ?> <h1>Benvenuti nel nostro sito (it.oldtoolbag.com)!</h1> <p>Qui troverai molte informazioni utili.</p> <?php include "footer.php"; ?> </html>
Potresti chiederti perché se possiamo utilizzare l'istruzione include() per includere file, abbiamo bisogno di require(). Di solito, l'istruzione require() funziona in modo simile all'istruzione include().
La differenza unica è che l'istruzione include() genera solo avvisi PHP, ma se non trova il file da includere, il script continua a eseguire, mentre l'istruzione require() genera un errore fatale e ferma l'esecuzione dello script.
<?php require "my_variables.php"; ?> <?php require "my_functions.php"; ?> <!DOCTYPE html> <html> <head> <title><?php displayTitle($home_page); ?></title> </head> <?php include "header.php"; ?> <?php include "menu.php"; ?> <h1>Benvenuti nel nostro sito (it.oldtoolbag.com)!</h1> <p>Qui troverai molte informazioni utili.</p> <?php include "footer.php"; ?> </html>
Attenzione: se si includono file di libreria o file che contengono funzioni e variabili di configurazione necessarie per l'esecuzione dell'applicazione (comeFile di configurazione del database),è consigliabile utilizzare l'istruzione require().
Se si utilizzano accidentalmente le istruzioni include o require per includere lo stesso file più volte (solitamenteFunzioniOClassiFile) potrebbe causare conflitti. Per prevenire questo, PHP fornisce le istruzioni include_once e require_once. Queste istruzioni funzionano allo stesso modo delle istruzioni include e require, con una piccola eccezione:
Anche se il file viene incluso di nuovo, le istruzioni include_once e require_once includono il file solo una volta, ossia, se il file è già stato incluso nella frase precedente, non verrà incluso di nuovo. Per capire meglio come funziona, guardiamo un esempio. Supponiamo di avere un file 'my_functions.php', con il seguente codice:
<?php function multiplySelf($var){ $var *= $var; // Moltiplica il valore della variabile per se stessa echo $var; } ?>
Questo è uno script PHP che contiene il file 'my_functions.php'.
<?php // Inclusione del file require "my_functions.php"; // Chiamata alla funzione multiplySelf(2); // Output: 4 echo "<br>"; // Nuova inclusione del file require "my_functions.php"; // Chiamata alla funzione multiplySelf(5); // Non esegue ?>
Quando eseguite lo script sopra, vedrete un messaggio di errore simile al seguente:“Errore fatale: Cannot redeclare multiplySelf()”Il motivo per cui ciò accade è che 'my_functions.php' è stato incluso due volte, il che significa che la funzione multiplySelf() è stata definita due volte, causando PHP a fermare l'esecuzione dello script e a generare un errore fatale. Ora, riscrivete l'esempio sopra utilizzando require_once.
<?php // Inclusione del file require_once "my_functions.php"; // Chiamata alla funzione multiplySelf(2); // Output: 4 echo "<br>"; // Nuova inclusione del file require_once "my_functions.php"; // Chiamata alla funzione multiplySelf(5); // Output: 25 ?>
Come vedete, sostituendo require con require_once, lo script funziona come previsto.