Nel corso di questa breve serie di articoli abbiamo descritto i
vantaggi propri della metodologia per oggetti; in particolare la OOP ci consente di scrivere codice "snello",
portabile e semplice da modificare.
La possibilità di intervenire sul dato, invece che sulla procedura di
manipolazione del dato stesso, ci permette di operare aggiornamenti e correzioni senza stravolgere i nostri listati in senso
strutturale.
Sia ben chiaro però che la programmazione per oggetti, pur rappresentando un'evoluzione
rispetto alle precedure, non rappresenta nè una scorciatoia per lo sviluppatore nè un sistema da ritenersi in
assoluto "migliore" per la scrittura del codice. E' uno strumento in pił che richiede un nuovo approoccio mentale allo
scripting server side in PHP, inutile illudersi che con la OOP si possa creare con poche righe un applicativo
che prima richiedeva pagine e pagine di listato.
Sulla scorta di quanto esposto finora presentiamo al lettore una
problematica, quella relativa alla connessione con il DBMS MySQL e selezione di un database, affrontata sia secondo la
logica procedurale che con l'ausilio dell'approccio per oggetti.
Logica procedurale:
/*Connessione a MySQL con selezione del databaseLogica per oggetti:
motodologia procedurale*/
$host = 'localhost';
$user = 'user';
$pass = 'password';
$db = 'archivio';
@mysql_connect($host, $user, $pass);
@mysql_select_db($db);
.........codice..........
/*Connessione a MySQL con selezione del databaseCome si avrà facilmente modo di notare, le logiche seguite nelle due metodologia si differenziano sostanzialmente. Nel primo caso (logica procedurale) seguiamo il noto meccanismo basato sulla valorizzazione di variabili e passaggio delle stesse alle funzioni (procedura); nel secondo caso (logica OOP) variabili e funzioni entrano a far parte di una classe che li ricomprende come oggetti da istanziare al momento del loro utilizzo.
motodologia per oggetti*/
class mysql
{
function mysql()
{
$this->host = 'localhost';
$this->user = 'user';
$this->pass = 'password';
$this->db = 'archivio';
$this->connessione();
}
function connessione()
{
$this->conn_sel = @mysql_connect(
$this->host, $this->user, $this->pass
);
@mysql_select_db($this->db);
}
}
if (new mysql())
{
.........codice..........}