Useita traitteja OOP:ssa PHP:ssä
Luokassa voidaan käyttää useita traitteja, ei vain yhtä.
Tässä niiden etu perinnässä tulee esiin.
Tarvittavat traitit luokan käyttöön voidaan määrittää pilkulla erotettuna
avainsanan use jälkeen.
Katsotaanpa esimerkkiä. Oletetaan, että meillä on kaksi traittia. Ensimmäinen:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
Toinen:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Käytetään traittejämme luokassa:
<?php
class User
{
use Helper1, Helper2; // liitetään traittit
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Tee 3 traittia nimeltä Trait1,
Trait2 ja Trait3. Olkoon ensimmäisessä
traitissa metodi method1, joka palauttaa
1, toisessa traitissa - metodi method2,
joka palauttaa 2, ja kolmannessa traitissa
- metodi method3, joka palauttaa 3.
Olkoon kaikki nämä metodit privaatteja.
Tee luokka Test, joka käyttää
kaikkia kolmea tekemiämme traittia. Tee tähän
luokkaan julkinen metodi getSum,
joka palauttaa liitettyjen traittien metodien tulosten summan.