Disa Trait-e në OOP në PHP

Në një klasë mund të përdorni jo një, por disa trait-e. Kjo është pikërisht përparësia e tyre krahasuar me trashëgiminë. Trait-et e nevojshme për përdorim në klasë mund të specifikohen përmes presjes pas fjalës kyçe use.

Le ta shohim me një shembull. Supozoni se kemi dy trait-e. I pari:

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

I dyti:

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

Le të përdorim trait-et tona në një klasë:

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

Krijoni 3 trait-e me emrat Trait1, Trait2 dhe Trait3. Le të ketë në të parin trait metodën method1, që kthen 1, në trait-in e dytë - metodën method2, që kthen 2, dhe në trait-in e tretë - metodën method3, që kthen 3. Le të jenë të gjitha këto metoda private.

Задание 2

Krijoni një klasë Test, që përdor të tre trait-et e krijuar nga ne. Krijoni në këtë klasë një metodë publike getSum, që kthen shumën e rezultateve të metodave të trait-eve të lidhur.