L'operazione opposta a quella che prevede la connessione a MySQL è quella relativa alla sua chiusura, a questo scopo PHP mette a disposizione una funzione nativa denominata mysql_close()
; la chiusura di una connessione è una procedura importante perché consente di liberare risorse utili per il sistema, generalmente una connessione viene chiusa automaticamente quando termina l'esecuzione dello script che la richiama, ma è comunque buona norma utilizzare mysql_close()
per evitare l'insorgere di possibili problemi o inutili sprechi di risorse.
La funzione restituisce TRUE nel caso in cui la chiusura della connessione abbia successo, diversamente restituisce FALSE quando invece si verifica un errore o un malfunzionamento che non permette la chiusura della connessione che le viene passata come parametro (identificativo di connessione). Se non viene specificato alcun parametro, allora la funzione chiude l'ultima connessione che è stata aperta.
Anche in questo caso è possibile introdurre una funzione personalizzata all'interno della classe MysqlClass proposta in precedenza e sfruttare le potenzialità del paradigma Object Oriented:
// funzione per la chiusura della connessione
public function disconnetti()
{
if($this->attiva)
{
if(mysql_close())
{
$this->attiva = false;
return true;
}else{
return false;
}
}
}
Si analizzino le diverse componenti della funzione proposta:
- viene definita una funzione chiamata
disconnetti()
il cui compito sarà quello di chiudere eventuali connessioni attive; - la funzione effettua un controllo sulla base del quale stabilirà se portare avanti o meno la procedura di chiusura, infatti questa sarà attuata soltanto nel caso in cui sia presente una connessione attiva;
- nel caso in cui sia stata aperta una connessione verrà allora richiamata la funzione nativa
mysql_close()
per la sua chiusura; - la funzione prevede TRUE come valore di ritorno nel caso in cui la connessione sia stata chiusa con successo, FALSE in caso contrario.
La funzione per la disconnessione va utilizzata soltanto quando non è più necessario che l'applicazione mantenga un contatto aperto con MySQL, quindi, se successivamente a quella di connessione sono presenti istruzioni per interrogare o manipolare i dati, la funzione di chiusura andrà richiamata soltanto dopo di esse; anche in questo caso la chiamata alla funzione avverrà per istanza:
// chiamata alla funzione di disconnessione
$data->disconnetti();
È ovvio che questa chiamata potrà avvenire non prima dell'inclusione del file in cui è presente la classe che contiene la funzione.