Dino Geek, cerca di aiutarti

Qual è la differenza tra "include_once" e "require_once"?


Certo! “include_once” e “require_once” sono due funzioni PHP usate per inserire file all’interno di uno script. La principale differenza tra le due risiede nel comportamento che hanno quando il file specificato non può essere trovato o incluso.

1. include\_once: La funzione “include_once” agisce in modo simile a “include”, con la differenza che garantisce che il file venga incluso solo una volta durante l’esecuzione dello script. Se il file non viene trovato, “include_once” genera un warning (avviso) ma lo script continua ad eseguire. Questo può essere utile per evitare conflitti o ridefinizioni di funzioni e classi, nel caso in cui lo stesso file venga incluso più volte accidentalmente.

Esempio: \`\`\`php // fileA.php echo “Sono il file A”; // main.php include\_once ‘fileA.php’; // Stampa: Sono il file A include\_once ‘fileA.php’; // Non fa nulla perchè il file è già stato incluso \`\`\` Fonti per include\_once - [PHP Manual – include\_once](https://www.php.net/manual/it/function.include-once.php)

1. require\_once: La funzione “require_once” funziona come “require”, ma, come “include_once”, garantisce che il file venga incluso solo una volta. Tuttavia, se il file specificato non viene trovato, “require\_once” genera un fatal error (errore fatale) e interrompe l’esecuzione dello script. Questa funzione è utilizzata quando l’inclusione del file è essenziale per il funzionamento corretto del programma.

Esempio: \`\`\`php // fileB.php echo “Sono il file B”; // main.php require\_once ‘fileB.php’; // Stampa: Sono il file B require\_once ‘fileB.php’; // Non fa nulla perchè il file è già stato incluso \`\`\` Fonti per require\_once - [PHP Manual – require\_once](https://www.php.net/manual/it/function.require-once.php)

Differenze principali:

- Comportamento in caso di errore: “include_once” emette solo un avviso se il file non viene trovato e continua l’esecuzione dello script. “require_once” invece emette un errore fatale e ferma l’esecuzione.

- Uso tipico: “include_once” può essere usato se il file non è strettamente necessario per l’esecuzione successiva dello script, cioè se il file può essere opzionale. “require_once” è preferibile quando il file è essenziale e deve essere incluso con certezza per evitare problemi nel comportamento dello script.

Esempio pratico per capire l’importanza di require\_once
```
// config.php
$databaseHost = ‘localhost’;
$databaseName = ‘example_db’;
$databaseUsername = ‘root’;
$databasePassword = ‘rootpassword’;

// db.php
require_once ‘config.php’;
$mysqli = new mysqli($databaseHost, $databaseUsername, $databasePassword, $databaseName);

// main.php
require_once ‘db.php’;
$query = “SELECT * FROM users”;
$result = $mysqli->query($query);
```

In questo caso, se “config.php” non fosse trovato, l’intero script si interromperebbe, perché la connessione al database non potrebbe essere stabilita e tentare di eseguire ulteriori operazioni risulterebbe in errori.

In conclusione, l’uso di “include_once” o “require_once” dipende dalla criticità e dalla necessità del file per il vostro script. Scegliete “require_once” per i file essenziali che devono essere inclusi per il funzionamento dello script e “include_once” per quelli opzionali il cui mancato caricamento non interrompe l’esecuzione del programma.

Fonti:
- [PHP Manual – include\_once](https://www.php.net/manual/it/function.include-once.php)
- [PHP Manual – require\_once](https://www.php.net/manual/it/function.require-once.php)


Genera semplicemente articoli per ottimizzare il tuo SEO
Genera semplicemente articoli per ottimizzare il tuo SEO





DinoGeek offre articoli semplici su tecnologie complesse

Vuoi essere citato in questo articolo? È molto semplice, contattaci a dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nome dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Avviso Legale / Condizioni Generali di Utilizzo