[Tech] [Leggermente OT] visibilità, classi e php

Mauro Casciari casciarimau@yahoo.com
Mer 1 Lug 2009 00:24:05 CEST


----- Original Message ----

> From: Giancarlo Martini <giancarlomartini@gmail.com>
> To: Discussioni tecniche <tech@firenze.linux.it>
> Sent: Tuesday, June 30, 2009 4:58:02 PM
> Subject: Re: [Tech] [Leggermente OT] visibilità, classi e php
> 
> Valerio Montagnani wrote:
> > Ciao a tutti.
> > Sono sempre alla prese con il php.
> > Ho creato una classe che ha dei metodi per eseguire delle query a mySQL.
> > I metodi che ho realizzato sono:
> > Costruttore
> > accedi a mysql
> > chiudi mysql
> > selezione un db di mysql
> > query: a questo metodo gli passo una striga che costituisce la query da
> > fare (INSERT, SELECT....)
> > 
> Io ho risolto facendo rendere un array alla funzione che fà la query e funziona. 
> 
> Un altro modo sarebbe quello di dichiarare un array pubblico dentro la classe e 
> poi andare a prelevare i dati da lì.

La seconda soluzione viola uno dei paradigma dell'OOP: L'incapsulamento dei dati.

Una soluzione piu' OO:

class myDBLayer
{
    private $resource;

.....

    public function & query($sql)
    {
        // esegue query, controlla il risultato

        ....

        $recordSet = $this->resource->fetch_assoc();

        return $recordSet;
    }
}

cosi'

$dataProvider = new myDBLayer(...);

...

$data = $dataProvider->query($query);
foreach($data as $row)
    {
      echo($row['primocampo'].' '.$row['secondocampo'].' '.$row
['terzocampo'].'</br>');
    }



Mauro "Yoda!" Casciari



      



Maggiori informazioni sulla lista flug-tech