Viacero traitov v OOP v PHP
V triede je možné použiť nie jeden, ale niekoľko
traitov. V tomto sa prejavuje ich výhoda
oproti dedičnosti. Potrebné traity na použitie
v triede je možné uviesť oddelené čiarkou
po kľúčovom slove use.
Pozrime sa na príklad. Predpokladajme, že máme dva traity. Prvý:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
Druhý:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Použime naše traity v triede:
<?php
class User
{
use Helper1, Helper2; // pripájame traity
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Vytvorte 3 traity s názvami Trait1,
Trait2 a Trait3. Nech v prvom
traite je metóda method1, vracajúca
1, v druhom traite - metóda method2,
vracajúca 2, a v treťom traite
- metóda method3, vracajúca 3.
Nech sú všetky tieto metódy súkromné.
Vytvorte triedu Test, ktorá používa
všetky tri nami vytvorené traity. Vytvorte
v tejto triede verejnú metódu getSum,
ktorá vráti súčet výsledkov metód pripojených
traitov.