Mehrere Traits in OOP in PHP
In einer Klasse kann nicht nur ein, sondern mehrere
Traits verwendet werden. Darin zeigt sich ihr Vorteil
gegenüber der Vererbung. Die für die Verwendung
in der Klasse benötigten Traits können durch Komma
getrennt nach dem Schlüsselwort use angegeben werden.
Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben zwei Traits. Der erste:
<?php
trait Helper1
{
private $name;
public function getName()
{
return $this->name;
}
}
?>
Der zweite:
<?php
trait Helper2
{
private $age;
public function getAge()
{
return $this->age;
}
}
?>
Verwenden wir unsere Traits in einer Klasse:
<?php
class User
{
use Helper1, Helper2; // Traits einbinden
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>
Machen Sie 3 Traits mit den Namen Trait1,
Trait2 und Trait3. Lassen Sie im ersten
Trait die Methode method1 sein, die
1 zurückgibt, im zweiten Trait - die Methode method2,
die 2 zurückgibt, und im dritten Trait
- die Methode method3, die 3 zurückgibt.
Lassen Sie all diese Methoden privat sein.
Erstellen Sie eine Klasse Test, die
alle drei von uns erstellten Traits verwendet. Erstellen Sie in
dieser Klasse eine öffentliche Methode getSum,
die die Summe der Ergebnisse der Methoden der eingebundenen
Traits zurückgibt.