Trait PHP

I trait PHP sono disponibili a partire dalla versione 5.4.0 di PHP, e sono un paradigma per creare codice riutilizzabile sfruttando una sorta di ereditarietà multipla; in genere, infatti, i linguaggi tipo OO (Object Oriented) sfruttano esclusivamente l’ereditarietà singola, cioè una classe può ereditare metodi e caratteristiche da parte di una singola altra classe. Con l’ereditarietà multipla una classe può prendere caratteristiche da più di una classe, ed il trait serve esattamente a questo scopo.

Che cos’è un trait

Un Trait per molti versi è simile ad una classe PHP, ma non è istanziabile come avviene per le classi; essa, piuttosto tende a definire un comportamento e a definirne l’ereditarietà multipla.

Esempio di trait PHP

Abbiamo detto che un trait non è istanziabile come “stampo” di un oggetto, bensì deve essere usato da una classe mediante la clausola use; per esempio, se avessi una classe Base con una funzione saluta() al suo interno,


<?php
class Base {
public function saluta() {
echo 'Ciao ';
}
}

trait ChiSaluto {
public function saluta() {
parent::saluta();
echo 'Amici';
}
}

class MiaClasse extends Base {
use ChiSaluto;
}

$test = new MiaClasse();
$test->saluta();
?>

restituirà l’output “combinato”:

Ciao Amici

1 voto
Pubblicato in GuideTaggato Ultimo aggiornamento: 25 Ottobre 2020