Originariamente inviato da eiyen
vorrei capire cosa per te rappresenta la classe "database" (concettualmente)... cmq se ritieni di voler organizzare le cose così non ci sono di per sè problemi: penso semplicemente che un'unica classe "DATABASE" generica sarebbe un approccio più pragmatico. Se vuoi mantenere il tuo approccio puoi spiegare meglio il tuo dubbio? Parlavi di dubbi sulla proprietà pubblica "query"... puoi spiegare meglio? E che problemi ci sono con lo switch esattamente?
Non mi sembra molto elegante usare una proprietà pubblica (che poi è una classe) all'interno di altre classi... ad esempio:
classe dataViewer.class.php, metodo 'view':
Codice PHP:
public function view( $tab, $what = '*', $where = array() ) {
if ( $table = '' ) {
throw new Exception( 'Ho bisogno di sapere quale tabella vuoi analizzare.', 1 );
}
$db = new mysqlQuery( 'select' );
// proprietà come classe.......
$db->query->select( $what );
$db->query->from( $tab );
if ( !empty( $where ) ) {
if ( method_exists( $db->query, $where['callback'] ) ) {
// e anche questo approccio non mi sembra elegante {$var}
$db->query->{$where['callback']}( $where['value'] );
} else {
throw new Exception( 'Il metodo che vuoi utilizzare non esiste: ' . $where['callback'], 1 );
}
}
if ( $db->exe() ) {
return call_user_func( array( $db, $this->method ) );
} else {
$this->msg = 'La query Non è andata a buon fine.';
return FALSE;
}
}
vedi i commenti... per funzionare funziona ma ho la sensazione che c'è qualcosa che non quadra.....
magari è solo una sega mia..