Per quanto riguarda i modelli
Codice PHP:
public function fetch( $id ) {
$selectQuery = "SELECT * FROM $this->table WHERE id = :id LIMIT 0,1";
$data = $this->pdo->executeQuery( $query, array( ':id'=>$id ) )->fetch();
if ( empty( $data ) ) {
return NULL;
}
// qui uso il modello
return new modelloUtente( $data );
}
il modelloUtente mi garantisce di avere sempre i dati correttamente popolati in base al formato della tabella che viene interrogata. In più mi permette di visualizzari i dati anche in modi diversi dal normale
un modello generico di utente:
Codice PHP:
class userModel extends entity {
protected $fields = array(
'id',
'name',
'email',
'password',
'datetime',
'active',
'valid',
'groupid',
'groupname',
'picture'
);
public function getItDatetime() {
$date = new DateTime( $this->values->offsetGet( 'datetime' ) );
return $date->format( "d-m-Y H:i:s" );
}
}
come puoi vedere ci sono i campi della tabella (per non sbagliare la selezione)
Codice PHP:
$modello = new userModel( $data );
// questo è valido
echo $modello->name;
// questo no
echo $modello->divano;
echo $modello->datetime;
// 2014-08-29 15:40:00
echo $modello->itDatetime;
// 29-08-2014 15:40:00
ma solo in visualizzazione