Више трејтова у ООП-у у PHP-у

У класи се може користити не један, већ више трејтова. У томе се и огледа њихова предност у односу на наслеђивање. Потребне трејтове за употребу у класи могу се навести зарезом после кључне речи use.

Погледајмо на примеру. Претпоставимо да имамо два трејта. Први:

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

Други:

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

Искористимо наше трејтове у класи:

User.php<?php
  class User
  {
    use Helper1, Helper2; // повезујемо трејтове
    
    public function __construct($name, $age)
    {
      $this->name = $name;
      $this->age = $age;
    }
  }
?>
Задание 1

Направите 3 трејта са називима Trait1, Trait2 и Trait3. Нека у првом трејту буде метод method1, који враћа 1, у другом трејту - метод method2, који враћа 2, а у трећем трејту - метод method3, који враћа 3. Нека сви ови методи буду приватни.

Задание 2

Направите класу Test, која користи сва три направљена трејта. Направите у тој класи јавни метод getSum, који враћа збир резултата метода повезаних трејтова.