Ho esperienza con OOP ma sto solo iniziando a utilizzare il modello MVC.
Vorrei sapere quali sono le pratiche raccomandate per utilizzare PDO all'interno del modello e mantenere comunque un alto livello di astrazione. Ho visto su internet vari approcci, quelli che mi sono piaciuti di più sono stati:
Rendere il modello estende una classe specializzata per le query SQL, qualcosa del genere:
class Car extends Model{...}
class Model extends SQLQuery{...}
Passare attorno a una connessione a un database globale
class Car extends Model{
private $connection;
__constructor($pdo ...){
$this->connection = $pdo;
...
}
}
Ho letto anche alcune persone che dicono che tutte le domande dovrebbero essere fatte nel controller e usare il modello solo per strutturare i dati. Non mi è piaciuto molto questo perché non mi permetteva di fare cose come fare un oggetto che si cambia e aggiornare il database.
Quindi, quali sono i tuoi consigli?