Användning av traits i traits

Traits, liksom klasser, kan också använda andra traits. Låt oss titta på ett exempel. Låt oss säga att vi har ett trait med två metoder:

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

Låt oss säga att vi också har ytterligare ett trait:

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

Låt oss ansluta traitet Trait1 till traitet Trait2:

Trait3.php<?php
  trait Trait2
  {
    use Trait1; // använder det första traitet
    
    private function method3()
    {
      return 3;
    }
  }
?>

Efter en sådan anslutning kommer Trait2 förutom sina egna metoder också att ha metoderna från traitet Trait1. Låt oss kontrollera detta: skapa en klass Test, anslut traitet Trait2 till den och se till att i vår klass dyker metoderna upp från både det första traitet och det andra:

Test.php<?php
  class Test
  {
    use Trait2; // ansluter det andra traitet
    
    public function __construct()
    {
      echo $this->method1(); // metod från första traitet
      echo $this->method2(); // metod från första traitet
      echo $this->method3(); // metod från andra traitet
    }
  }
?>
Задание 1

Gör samma traits på egen hand som jag har och anslut dem till klassen Test. Skapa en metod getSum i denna klass som returnerar summan av resultaten från metoderna i de anslutna traitsen.