Includere file: include() e require()
Nella lezione precedente abbiamo accennato a come interagire con un database MySQL attraverso i nostri script PHP. Come abbiamo visto è necessario specificare - affinchè la connessione al database funzioni correttamente - le credenziali di accesso al MySQL. Qualora la nostra applicazione sia composta di più file sarà, ovviamente, necessario aver cura di ripetere le nostre credenziali in ogni singolo script.
Una simile prassi, in realtà, è decisamente sconsigliabile in quanto sarebbe un inutile spreco di tempo ripetere più volte lo stesso codice, ciò aumenterebbe il rischio di errori e renderebbe, tra l'altro, poco agevole ogni operazioni di modifica o aggiornamento (si pensi, ad esempio, ad un'applicazione composta da 20 files: qualora doveste modificare i dati di accesso al vostro DB dovreste modificare a mano tutti quanti gli script!).
Al fine di far fronte a questa ed altre necessità analoghe, il linguaggio PHP ci offre alcune utili funzioni per gestire le inclusioni di file: queste funzioni sono include() e require.
Mediante queste funzioni, quindi, potremo evitare le ripetizioni di codice scrivendo le istruzioni una sola volta all'interno di un file che sarà poi incluso all'interno di tutti gli script che necessitano di quel codice.
Per tornare al nostro esempio di partenza potremmo creare un file "dat-mysql.php" con le credenziali di accesso, la connessione al DBMS e la selezione del DB evitando di ripetere sempre lo stesso codice nei file che lo richiedono:
<?php
$host = "localhost";
$user = "pippo";
$pass = "odiotopolino";
$database = "miodatabase";
// mi connetto al DBMS
$myconn = mysql_connect($host, $user, $pass) or die('Errore...');
//Mi connetto al database
mysql_select_db($database, $myconn) or die('Errore...');
?>
All'interno di tutti i singoli file preposti ad operare sul DB sarà sufficiente includere il file appena visto, in questo modo:
include "dati-mysql.php";oppure con
require "dati-mysql.php";Le due funzioni (include() e require()) producono, infatti, il medesimo risultato; l'unica differenza consiste nella gestione di eventuali errori: nel caso il file da includere non si trovato include() genererà un warning mentre require() un fatal error (bloccando, di fatto, l'esecuzione dello script).
Si noti che, affinchè l'inclusione vada a buon fine, è necessario specificare il percorso corretto del file che si desidera includere (nel nostro esempio il file "dati-mysql.php" si trova nella stessa cartella degli script che lo includono).
Per approfondire l'argomento vi consiglio di leggere queste semplici referenze:
- << Lezione Precedente
- Indice Guida
- Lezione Successiva >>







