Flera traits i OOP i PHP

I en klass kan man använda inte bara ett, utan flera traits. Det är här deras fördel framträder jämfört med arv. De traits som behöver användas i klassen kan anges efter kommatecken efter nyckelordet use.

Låt oss titta på ett exempel. Låt oss säga att vi har två traits. Det första:

Helper1.php<?php
  trait Helper1
  {
    private $name;
    
    public function getName()
    {
      return $this->name;
    }
  }
?>

Det andra:

Helper2.php<?php
  trait Helper2
  {
    private $age;
    
    public function getAge()
    {
      return $this->age;
    }
  }
?>

Låt oss använda våra traits i en klass:

User.php<?php
  class User
  {
    use Helper1, Helper2; // ansluter traits
    
    public function __construct($name, $age)
    {
      $this->name = $name;
      $this->age = $age;
    }
  }
?>
Задание 1

Skapa 3 traits med namnen Trait1, Trait2 och Trait3. Låt det i det första traitet finnas en metod method1 som returnerar 1, i det andra traitet - en metod method2, som returnerar 2, och i det tredje traitet - en metod method3 som returnerar 3. Låt alla dessa metoder vara privata.

Задание 2

Skapa en klass Test som använder alla tre av de traits vi skapat. Skapa i denna klass en publik metod getSum, som returnerar summan av resultaten från metoderna i de anslutna traitsen.