Sì, dovresti usare le classi per accedere al tuo database.
Un buon link per ulteriori approfondimenti su questo è cercare il Pattern di registrazione del record attivo e Mappatura relazionale degli oggetti
Il vantaggio di questo può essere visto nel Principio di DRY e nella domanda Law of Demeter che è stato chiesto in precedenza . Creando una classe di accesso ai dati astratti, mantieni il livello di accesso ai dati parte della tua applicazione da perdite nelle classi di entità modello / database E non devi ripetere te stesso ogni volta che devi creare un nuovo modello / entità di database.
Ok, quindi torna alla tua domanda, così ora, costruiamo una classe astratta per gestire il CRUD per le nostre entità di database, quindi ora abbiamo solo bisogno di estendere quella classe astratta e probabilmente di impostare alcune variabili ogni volta che aggiungiamo una nuova entità nel database. Rende meno fastidioso e molto più facile da gestire scrivere SQL per i tuoi tavoli spostandoli tutti verso la classe astratta e rende il livello di accesso ai dati della tua applicazione molto più gestibile, specialmente se hai un modello di bazzillion / entità di database.
Quindi, qual è la differenza tra la creazione della classe astratta e la creazione di una classe del modello di database, quindi l'istanziazione con una connessione al database? O l'intenzione di usare semplicemente mysqli?
- Con la classe astratta, devi solo codificare il livello di accesso ai dati della tua applicazione UNA VOLTA
- Il tuo codice diventa DRY eliminando le inizializzazioni di database ridondanti
- Migliore manutenzione, è sufficiente modificare una parte del codice per cambiare la modalità di accesso al database!
- SQL Haters delizia! Non hanno più bisogno di direttamente toccare le istruzioni SQL quando si occupano di ORM
Ma dato che siamo programmatori, suggerirei di non ricostruirlo da zero. Non c'è bisogno di reinventare la ruota come direbbero. Esistono già framework per PHP che gestiscono elegantemente ORM. Puoi cercare i MVC popolari framework per PHP come Yii e Kohana .