Nel mio progetto ho una classe di database che uso per gestire tutte le cose MySQL. Si collega a un database, esegue query, intercetta errori e chiude la connessione.Utilizzo di una classe di database nella mia classe utente
Ora ho bisogno di creare un'area membri sul mio sito, e stavo per creare una classe utenti che gestisse la registrazione, l'accesso, le modifiche/resettazioni password/nome utente e la disconnessione. In questa classe di utenti ho bisogno di usare MySQL per ovvi motivi ... che è ciò per cui è stata creata la mia classe di database.
Ma sono confuso su come utilizzare la classe di database nella classe di utenti. Vorrei creare un nuovo oggetto di database per la mia classe utente e quindi chiuderlo ogni volta che un metodo in quella classe è finito? Oppure faccio in qualche modo una classe di database 'globale' che può essere usata in tutto il mio intero script (se questo è il caso ho bisogno di aiuto, non ho idea di cosa fare lì.)
Grazie per qualsiasi feedback che puoi dare me.
Sembra molto simile a unire le due classi. Preferirei una soluzione in cui le classi fossero completamente indipendenti, a meno che mi manchi qualcosa? – Josh
Il design OO riguarda l'incapsulamento. Per me, ha senso incapsulare il database in modo indipendente e quindi avere classi che accedano a esso, in modo che esso controlli da solo l'accesso al database. Tuttavia, altri design sono possibili. Avere due classi che entrambi accedono direttamente al database è possibile, anche se la mia opinione è che aggiunge ulteriore complessità. – WhirlWind
Suppongo che un altro modo per farlo sia istanziare un'istanza della classe database che si connette al database, quindi usare una classe separata per fare cose "utente" tramite un handle di database recuperato dalla classe del database ... Questo dovrebbe funzionare, se preferiscilo – WhirlWind