Creazione Struttura Connessione Database

Sep 5, 2024

Appunti Lezione: Creazione di una Struttura di Connessione al Database

Introduzione

  • Creazione di uno scheletro per la connessione al database.
  • Importanza di evitare la ripetizione del codice e semplificare le modifiche in caso di spostamento su un server live.

File di Configurazione

  • Creazione di un file chiamato config.php per contenere le configurazioni:
    • dbhost
    • dbuser
    • dbpass
    • dbname
  • Utilizzo di require_once per includere il file di configurazione in init.php.

Problemi di Percorso

  • problema con il caricamento di config.php a causa della struttura delle cartelle.
  • Necessità di utilizzare percorsi corretti per includere i file.

Creazione della Classe di Connessione al Database

  • Creazione della classe DB:
    • Proprietà pubbliche per la connessione e l'oggetto PDO.
    • Costruttore per inizializzare la connessione al database.

Gestione delle Variabili Globali

  • Creazione di globals.php per definire le variabili globali.
  • Utilizzo della connessione MySQL all'interno della classe DB.

Metodi della Classe DB

  • Metodo query(): esegue una query sul database.
  • Metodi per operazioni CRUD:
    • selectAll(): seleziona tutte le righe di una tabella.
    • selectOne(): seleziona una singola riga in base all'ID.
    • deleteOne(): elimina una riga in base all'ID.
    • updateOne(): aggiorna una riga in base all'ID e alle colonne specificate.

Creazione del DB Manager

  • Creazione della classe DBManager per interagire con la classe DB.
  • Proprietà per mantenere il riferimento all'oggetto DB, i nomi delle colonne e il nome della tabella.

Creazione della Classe Product Manager

  • Creazione della classe ProductManager per gestire i prodotti.
  • Estensione della classe DBManager per utilizzare i metodi CRUD.

Inclusione delle Classi nel Codice Principale

  • Includere globals.php, db.php e product.php in init.php.
  • Esempi di utilizzo della classe ProductManager per ottenere prodotti.

Gestione degli Erori

  • Implementazione di controlli per gestire array vuoti o nulli.
  • Utilizzo di if per verificare l'esistenza dei prodotti prima di eseguire il ciclo foreach.

Layout della Pagina dei Prodotti

  • Creazione di un semplice markup HTML per visualizzare i prodotti.
  • Implementazione di un ciclo foreach per mostrare i dettagli di ciascun prodotto.

Conclusioni

  • Importanza di avere una struttura chiara e ridondante per la gestione della connessione al database.
  • Preparazione per il prossimo incontro con l'obiettivo di migliorare il layout e le funzionalità.
  • Invito a controllare il repository Github per il codice aggiornato.