Una classe in PHP è una struttura fondamentale nella programmazione orientata agli oggetti (OOP – Object-Oriented Programming) che permette di modellare oggetti del mondo reale con proprietà (attributi) e comportamenti (metodi). In pratica, una classe è un modello da cui possono essere istanziati degli oggetti che condividono una struttura simile, ma possono avere valori differenti per le rispettive proprietà.
Una classe in PHP si definisce utilizzando la parola chiave `class` seguita dal nome della classe e da una coppia di parentesi graffe che racchiudono le proprietà e i metodi della classe. Esempio:
```
class Automobile {
// Proprietà
public $marca;
public $modello;
public $colore;
In questo esempio, la classe `Automobile` ha tre proprietà pubbliche (`$marca`, `$modello`, `$colore`) e un metodo pubblico (`descrizione()`).
Dopo aver definito una classe, è possibile creare oggetti di quella classe attraverso la parola chiave `new`. Esempio:
```
$miaAuto = new Automobile();
$miaAuto->marca = “Toyota”;
$miaAuto->modello = “Corolla”;
$miaAuto->colore = “rossa”;
echo $miaAuto->descrizione();
?>
```
Questo script crea un’istanza della classe `Automobile` e imposta le proprietà con valori specifici, quindi chiama il metodo `descrizione()` per ottenere una descrizione dell’auto.
Le proprietà e i metodi delle classi in PHP possono avere diversi livelli di visibilità:
- `public`: accessibile da qualsiasi parte del codice.
- `protected`: accessibile solo all’interno della classe stessa e delle sue sottoclassi.
- `private`: accessibile solo all’interno della classe stessa.
Esempio:
```
class Persona {
private $nome;
private $età;
$mario = new Persona(“Mario”, 30);
echo $mario->scheda();
?>
```
In questo esempio, le proprietà `$nome` e `$età` sono private e non possono essere modificate direttamente dall’esterno della classe.
Le classi in PHP possono ereditare proprietà e metodi da altre classi. Questo si realizza attraverso la parola chiave `extends`. Esempio:
```
class Veicolo {
public $tipo;
class Automobile extends Veicolo { public $marca; public $modello;
public function descrizioneCompleta() { return “Questo è un “ . $this->tipo . “ marca “ . $this->marca . “ modello “ . $this->modello . “.”; } }$miaAuto = new Automobile();
$miaAuto->tipo = “automobile”;
$miaAuto->marca = “Toyota”;
$miaAuto->modello = “Corolla”;
echo $miaAuto->descrizioneCompleta();
?>
```
In questo esempio, la classe `Automobile` estende la classe `Veicolo` e quindi eredita il metodo `tipoVeicolo()`.
Questi frammenti di codice e le spiegazioni forniscono una panoramica di base su cosa sia una classe in PHP e come utilizzarla per creare oggetti in un contesto di programmazione orientata agli oggetti.