Dichiarare una classe in PHP è un processo fondamentale per la programmazione orientata agli oggetti (OOP) in questo linguaggio. Una classe in PHP rappresenta un modello da cui è possibile creare oggetti. Ogni classe può contenere proprietà (variabili) e metodi (funzioni), che definiscono il comportamento e lo stato dell’oggetto.
Per dichiarare una classe in PHP, usa la parola chiave `class`, seguita dal nome della classe e da parentesi graffe `{}` che racchiudono il corpo della classe.
```
class Persona {
// Proprietà
public $nome;
public $cognome;
In questo esempio, abbiamo dichiarato una classe `Persona` con due proprietà pubbliche `$nome` e `$cognome`, e un metodo pubblico `saluta` che restituisce un saluto utilizzando le proprietà della classe.
Le proprietà sono variabili che appartengono a un oggetto e vengono definite all’interno della classe. I metodi sono funzioni definite all’interno delle classi che permettono di manipolare queste proprietà o eseguire operazioni.
Puoi creare un’istanza della classe e accedere alle sue proprietà e metodi come segue:
```
// Creazione di un’istanza della classe
$persona1 = new Persona();
$persona1->nome = “Mario”;
$persona1->cognome = “Rossi”;
// Chiamata di un metodo della classe
echo $persona1->saluta(); // Stampa “Ciao, Mario Rossi“
?>
```
Il principio dell’incapsulamento in OOP permette di controllare come i dati di un oggetto vengono manipolati. In PHP, questo si ottiene con le parole chiave `public`, `protected` e `private`.
- `public`: Accessibile ovunque.
- `protected`: Accessibile all’interno della classe e delle classi derivate.
- `private`: Accessibile solo all’interno della classe stessa.
```
class Persona {
private $nome;
private $cognome;
$persona1 = new Persona(“Mario”, “Rossi”);
echo $persona1->saluta(); // Stampa “Ciao, Mario Rossi“
?>
```
In questo esempio, le proprietà `$nome` e `$cognome` sono private e possono essere impostate solo tramite il costruttore della classe.
L’ereditarietà permette a una classe di ereditare le proprietà e i metodi di un’altra classe. Questo si ottiene usando la parola chiave `extends`.
```
class Lavoratore extends Persona {
private $professione;
$lavoratore1 = new Lavoratore(“Luigi”, “Verdi”, “programmatore”);
echo $lavoratore1->presentati(); // Stampa “Ciao, Luigi Verdi e faccio il programmatore“
?>
```
In questo caso, la classe `Lavoratore` estende la classe `Persona` e aggiunge una nuova proprietà `$professione` e un nuovo metodo `presentati`.
Dichiarare una classe in PHP è un processo chiave per implementare la programmazione orientata agli oggetti. Attraverso le parole chiave `class`, `extends`, `public`, `protected` e `private`, puoi definire come gli oggetti vengono creati, ereditati, e come le loro proprietà e metodi sono accessibili e modificabili.
1. [Documentazione ufficiale di PHP: Classi e oggetti](https://www.php.net/manual/it/language.oop5.basic.php)
2. [W3Schools: PHP OOP – Classes and Objects](https://www.w3schools.com/php/php_oop_classes_objects.asp)
3. [PHP.net: Introduzione alla Programmazione Orientata agli Oggetti](https://www.php.net/manual/it/language.oop5.php)