Verwendung von Traits in Traits
Traits können, ähnlich wie Klassen, ebenfalls andere Traits verwenden. Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben diesen Trait mit zwei Methoden:
<?php
trait Trait1
{
private function method1()
{
return 1;
}
private function method2()
{
return 2;
}
}
?>
Nehmen wir an, wir haben noch einen weiteren Trait:
<?php
trait Trait2
{
private function method3()
{
return 3;
}
}
?>
Lassen Sie uns den Trait Trait1 mit
dem Trait Trait2 verbinden:
<?php
trait Trait2
{
use Trait1; // verwenden den ersten Trait
private function method3()
{
return 3;
}
}
?>
Nach einer solchen Verbindung wird Trait2
neben seinen eigenen Methoden auch die Methoden
des Traits Trait1 haben. Prüfen wir das: Erstellen wir eine
Klasse Test, verbinden sie mit dem Trait
Trait2 und stellen sicher, dass in unserer Klasse
Methoden sowohl des ersten Traits,
als auch des zweiten erscheinen:
<?php
class Test
{
use Trait2; // verbinden den zweiten Trait
public function __construct()
{
echo $this->method1(); // Methode des ersten Traits
echo $this->method2(); // Methode des ersten Traits
echo $this->method3(); // Methode des zweiten Traits
}
}
?>
Erstellen Sie selbst die gleichen Traits
wie bei mir und verbinden Sie sie mit der Klasse Test.
Erstellen Sie in dieser Klasse die Methode getSum,
die die Summe der Ergebnisse der Methoden der verbundenen
Traits zurückgibt.