Meerdere traits in OOP in PHP
In een klasse kun je niet één, maar meerdere
traits gebruiken. Dit is waar hun voordeel
ten opzichte van overerving naar voren komt.
De traits die in een klasse moeten worden gebruikt,
kunnen worden gespecificeerd door komma's gescheiden
na het sleutelwoord use.
Laten we een voorbeeld bekijken. Stel we hebben twee traits. De eerste:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
De tweede:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Laten we onze traits in een klasse gebruiken:
<?php
class User
{
use Helper1, Helper2; // verbind de traits
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Maak 3 traits met de namen Trait1,
Trait2 en Trait3. Laat in de eerste
trait een methode method1 zitten, die
1 teruggeeft, in de tweede trait - een methode method2,
die 2 teruggeeft, en in de derde trait
- een methode method3, die 3 teruggeeft.
Laat al deze methodes privé zijn.
Maak een klasse Test, die
alle drie door ons gemaakte traits gebruikt. Maak in
deze klasse een publieke methode getSum,
die de som van de resultaten van de methodes van de aangesloten
traits teruggeeft.