Multiple Traits in OOP in PHP

A class can use not one, but several traits. This is where their advantage over inheritance manifests itself. The traits needed for use in a class can be listed separated by commas after the keyword use.

Let's look at an example. Suppose we have two traits. First:

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

Second:

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

Let's use our traits in a class:

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

Create 3 traits named Trait1, Trait2 and Trait3. Let the first trait have a method method1 returning 1, the second trait - a method method2, returning 2, and the third trait - a method method3, returning 3. Let all these methods be private.

Задание 2

Create a class Test that uses all three traits we created. Create a public method getSum in this class, returning the sum of the results of the methods of the connected traits.