Attenzione a non cadere nel classico errore
L'oggetto non deve fare TUTTO ma ciò che gli spetta
Se un oggetto ad esempio si occupa di reperire i dati da un database, quell'oggetto NON DEVE effettuare delle echo o altre cose similari... poichè l'oggetto ha un'altro compito
Quindi è normale che tu faccia
Codice PHP:
while (list($id, $titolo) = $result->fetch_row())
{
//... codice
}
E' normale perchè l'oggetto $result ha il compito di manipolare i dati del db, non di mostrarli a video che è compito eventualmente di un altro oggetto che potresti creare allo scopo
Un oggetto tipo
Codice PHP:
class ShowData
{
private $rows;
public function __construct($result)
{
$this->rows = $result;
}
public functoin returnHTML()
{
$html = "";
while (list($id, $title) = $this->rows->fetch_row())
$html .= "ID = $id, TITOLO = $title";
}
}
E nel tuo php sostituiresti questa istruzione
while (list($id, $titolo) = $result->fetch_row())
Con
Codice PHP:
$show = new ShowData($result);
echo $show->returnHTML();
Ovviamente di solito non si crea un oggetto che faccia "così poco" ma è un passo verso la programmazione MVC
Un oggetto/i gestisce il reperimento dei dati
Un oggetto/i gestisce la creazione dell'output in base a tali dati
Un oggetto/i (o il codice base) gestisce la creazione degli oggetti adeguati, la chiamata dei giusti metodi, con i giusti parametri