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:

Trait1.php<?php
  trait Trait1
  {
    private function method1()
    {
      return 1;
    }
    
    private function method2()
    {
      return 2;
    }
  }
?>

Nehmen wir an, wir haben noch einen weiteren Trait:

Trait2.php<?php
  trait Trait2
  {
    private function method3()
    {
      return 3;
    }
  }
?>

Lassen Sie uns den Trait Trait1 mit dem Trait Trait2 verbinden:

Trait3.php<?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:

Test.php<?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
    }
  }
?>
Задание 1

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.