- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Guida] Traits
-
[Guida] Traits
I Traits sono stati introdotti con PHP 5.4, e vengono utilizzati per riutilizzare il codice scritto in classi differenti.
Per meglio capire cosa sono, e come si usano, faccio un esempio pratico:[php]
<?php
trait MioTrait {
public function saluta() {
echo 'Ciao forum GT!';
}
}class TheDarkITA {
use MioTrait;
}$o = new TheDarkITA();
$o->saluta();
?>
[/php]
Verrà mostrato in output:Ciao forum GT!
È possibile cambiare la visibilità dei metodi facendo:
[php]
use MioTrait {saluta as protected;}
[/php]Nel caso in cui abbiamo 2 Traits con i metodi aventi lo stesso nome, possiamo gestire i conflitti in questo modo:
[php]
<?php
trait MioTrait {
public function saluta() {
echo 'Ciao forum GT!';
}
public function telefona() {
echo 'Telefono a John!';
}
}trait MioTrait2 {
public function saluta() {
echo 'Ciao da TheDarkITA!';
}
public function telefona() {
echo 'Telefono a Marco!';
}
}class TheDarkITA {
use MioTrait, MioTrait2 {
MioTrait2::saluta insteadof MioTrait;
MioTrait::telefona insteadof MioTrait2;
}
}$o = new TheDarkITA();
$o->saluta();
$o->telefona();
?>
[/php]Mostrerà:
Ciao da TheDarkITA!Telefono a John!