In PHP, un’interfaccia (interface) è una struttura che permette di definire un contratto per le classi che la implementano. Un’interfaccia elenca i metodi pubblici che una classe deve implementare, senza fornire l’implementazione stessa di questi metodi. Questo permette di separare la definizione delle funzionalità dalla loro implementazione, promuovendo così la coerenza e la riusabilità del codice.
```
interface Car {
public function startEngine();
public function stopEngine();
public function accelerate($speed);
}
?>
```
```
class Sedan implements Car {
public function startEngine() {
echo “Engine started”;
}
```
interface Car {
public function startEngine();
public function stopEngine();
public function accelerate($speed);
}
class Sedan implements Car { public function startEngine() { echo “Sedan engine started”; }
public function stopEngine() { echo “Sedan engine stopped”; } public function accelerate($speed) { echo “Sedan accelerating to “ . $speed . “ mph”; } }class SportsCar implements Car { public function startEngine() { echo “Sports car engine started”; }
public function stopEngine() { echo “Sports car engine stopped”; } public function accelerate($speed) { echo “Sports car accelerating to “ . $speed . “ mph”; } }function testDrive(Car $car) {
$car->startEngine();
$car->accelerate(60);
$car->stopEngine();
}
$sedan = new Sedan();
$sportsCar = new SportsCar();
testDrive($sedan);
testDrive($sportsCar);
?>
```
In questo esempio, la funzione `testDrive` accetta qualsiasi oggetto che implementi l’interfaccia `Car`, permettendo così di passare sia un’istanza di `Sedan` che di `SportsCar` senza cambiare il codice della funzione stessa.
L’uso delle interfacce in PHP è una pratica fondamentale per scrivere codice scalabile e facilmente manutenibile. Permette di definire un comportamento standardizzato che le classi devono seguire, migliorando così la flessibilità e la coerenza del codice applicativo.