Vairāki treiti OOP PHP

Klasē var izmantot nevis vienu, bet vairākus treitus. Tas arī parāda to priekšrocības salīdzinājumā ar mantošanu. Vajadzīgos lietošanai klasē treitus var norādīt, atdalot tos ar komatu aiz atslēgvārda use.

Apskatīsim piemēru. Pieņemsim, ka mums ir divi treiti. Pirmais:

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

Otrais:

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

Izmantosim mūsu treitus klasē:

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

Izveidojiet 3 treitus ar nosaukumiem Trait1, Trait2 un Trait3. Lai pirmajā treitā būtu metode method1, kas atgriež 1, otrajā treitā - metode method2, kas atgriež 2, bet trešajā treitā - metode method3, kas atgriež 3. Lai visas šīs metodes būtu privātas.

Задание 2

Izveidojiet klasi Test, kas izmanto visus trīs mūsu izveidotos treitus. Izveidojiet šajā klasē publisku metodi getSum, kas atgriež pievienoto treitu metožu rezultātu summu.