Context engineering
8 – Programmazione a Oggetti (OOP) in PHP
La programmazione a oggetti (OOP) è un paradigma che consente di organizzare il codice in modo più modulare, riutilizzabile e leggibile. PHP supporta pienamente l’OOP a partire dalla versione 5, rendendolo uno strumento potente non solo per siti web semplici, ma anche per applicazioni complesse.
Concetti chiave:
Classe → un modello, una struttura che definisce proprietà e metodi.
Oggetto → un’istanza concreta di una classe.
Proprietà → variabili appartenenti alla classe.
Metodi → funzioni che appartengono alla classe.
Una classe può essere vista come il progetto di un edificio, mentre l’oggetto è l’edificio costruito secondo quel progetto.
Dichiarare una classe significa definire il comportamento e le caratteristiche.
Creare un oggetto significa avere una copia concreta che può essere utilizzata.
Esempio concettuale:
Classe: “Automobile” (ha proprietà come colore, marca, modello; e metodi come accendi(), frena()).
Oggetto: una Fiat Panda rossa (istanza reale della classe Automobile).
Proprietà: rappresentano lo stato dell’oggetto.
Esempio: $colore, $marca, $prezzo.
Metodi: rappresentano le azioni che l’oggetto può compiere.
Esempio: accendi(), frena(), mostraDettagli().
public → accessibile ovunque.
private → accessibile solo all’interno della classe.
protected → accessibile dalla classe e dalle sue sottoclassi.
Quando si crea un oggetto, spesso è utile inizializzare automaticamente alcune proprietà: questo è il compito del costruttore (__construct).
Costruttore: metodo speciale che viene chiamato automaticamente alla creazione dell’oggetto.
Distruttore: metodo (__destruct) che viene chiamato quando un oggetto non è più utilizzato, ad esempio per liberare risorse.
Esempio concettuale:
Un oggetto Database può aprire la connessione al momento della creazione (costruttore) e chiuderla quando non serve più (distruttore).
Uno dei principi fondamentali dell’OOP è il riuso del codice.
L’ereditarietà consente a una classe di derivare da un’altra, ereditando proprietà e metodi.
Classe base: contiene attributi e comportamenti comuni.
Classe derivata: aggiunge o modifica comportamenti specifici.
Esempio concettuale:
Classe Utente → ha nome, email, metodo login().
Classe Admin (eredita da Utente) → ha in più i permessi di gestione, metodo cancellaUtente().
Creare un sistema semplificato per gestire utenti e amministratori con PHP OOP.
Definire la classe Utente con proprietà (nome, email) e metodo login().
Aggiungere un costruttore per inizializzare i dati dell’utente.
Definire la classe Admin che eredita da Utente e aggiunge il metodo cancellaUtente().
Creare più oggetti (utenti e admin) e simulare alcune operazioni.
Inserire la proprietà password con metodo verificaPassword().
Aggiungere un metodo che restituisce una stringa con i dettagli dell’utente.
Creare una piccola lista utenti e ciclare per mostrare i loro dati.
La programmazione a oggetti in PHP consente di organizzare il codice in modo elegante e scalabile. Con le classi si definisce la struttura, con gli oggetti si creano istanze reali. I costruttori e i distruttori gestiscono l’inizio e la fine del ciclo di vita, mentre l’ereditarietà permette di riutilizzare il codice e specializzarlo. L’esercizio proposto simula un caso reale, ossia la gestione degli utenti, che rappresenta la base di molti sistemi web (registrazioni, login, aree riservate).
Commenti
Posta un commento