Trait PHP: che cosa sono e come si usano

Aggiornato il: 10-12-2022 14:12
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.


Scopri Keliweb , il servizio di hosting italiano: clicca qui !


V-Hosting è l'hosting italiano: scoprilo adesso

Che cos’è un trait PHP?

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. Un Trait è in qualche modo simile a una classe PHP, ma ha solo lo scopo di raggruppare le funzionalità in modo dettagliato e coerente.

Non è possibile istanziare un trait in modo stand alone: si tratta sempre di un’aggiunta all’eredità tradizionale e consente la composizione orizzontale del comportamento; cioè, l’applicazione dei membri della classe senza richiedere l’eredità.


V-Hosting è l'hosting italiano: scoprilo adesso


Scopri Keliweb , il servizio di hosting italiano: clicca qui !

Un trait viene definito come una specie di classe o funzione auto-conclusiva:

trait message1 {
public function msg1() {
echo "Sono il messaggio 1, giusto per esempio."; 
}
}

che poi abbiamo la possibilità di richiamare all’occorrenza mediante use:

class Welcome {
use message1;
}

Un esempio dovrebbe chiarire il concetto, a questo punto.

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; un esempio dovrebbe aiutare a capire di che cosa parliamo. Un esempio pratico permette di ridurre la duplicazione di parti di codice, cosa molto utile per mantenere la leggibilità e l’efficenza sempre elevata.

<?php
trait message1 {
public function msg1() {
echo "Sono il messaggio 1, giusto per esempio."; 
}
}

trait message2 {
public function msg2() {
echo " Sono il messaggio 2, e servo a non scrivere codice inutile."; 
}
}

class Welcome {
use message1;
}

class Welcome2 {
use message1, message2;
}

$obj = new Welcome(); //prima istanza classe di prova
$obj->msg1();
echo "<hr>"; //richiamo solo primo trait


$obj2 = new Welcome2(); //altra istanza classe
$obj2->msg1(); //richiamo il primo trait
$obj2->msg2(); //richiamo il secondo trait
?>

Questo esempio restituirà:

Sono il messaggio 1, giusto per esempio.


Sono il messaggio 1, giusto per esempio. Sono il messaggio 2, e servo a non scrivere codice inutile.



Questo blog pubblica contenuti ed offre servizi free da 11 anni. – Leggi un altro articolo a caso – Per informazioni contattaci
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Trait PHP: che cosa sono e come si usano
cyberpunk 12

Ingegnere per passione, consulente per necessità, docente di informatica; ho creato Trovalost.it e ho scritto quasi tutti i suoi contenuti. Ogni guida viene revisionata e aggiornata periodicamente. Per contatti clicca qui


Scopri Keliweb , il servizio di hosting italiano: clicca qui !


V-Hosting è l'hosting italiano: scoprilo adesso

guida trait PHP
Torna su