Utilisation de plusieurs traits en POO en PHP

Dans une classe, vous pouvez utiliser non pas un, mais plusieurs traits. C'est en cela que réside leur avantage par rapport à l'héritage. Les traits nécessaires à l'utilisation dans la classe peuvent être indiqués séparés par des virgules après le mot-clé use.

Regardons un exemple. Supposons que nous ayons deux traits. Le premier :

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

Le second :

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

Utilisons nos traits dans une classe :

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

Créez 3 traits portant les noms Trait1, Trait2 et Trait3. Que le premier trait ait une méthode method1 renvoyant 1, le deuxième trait - une méthode method2, renvoyant 2, et le troisième trait - une méthode method3 renvoyant 3. Que toutes ces méthodes soient privées.

Задание 2

Créez une classe Test utilisant les trois traits que nous avons créés. Créez dans cette classe une méthode publique getSum, renvoyant la somme des résultats des méthodes des traits connectés.