Penggunaan Trait dalam Trait

Trait, seperti kelas, juga boleh menggunakan trait lain. Mari kita lihat contoh. Katakan kita mempunyai trait berikut dengan dua kaedah:

Trait1.php<?php
  trait Trait1
  {
    private function method1()
    {
      return 1;
    }
    
    private function method2()
    {
      return 2;
    }
  }
?>

Katakan kita juga mempunyai satu lagi trait:

Trait2.php<?php
  trait Trait2
  {
    private function method3()
    {
      return 3;
    }
  }
?>

Mari kita sambungkan trait Trait1 kepada trait Trait2:

Trait3.php<?php
  trait Trait2
  {
    use Trait1; // menggunakan trait pertama
    
    private function method3()
    {
      return 3;
    }
  }
?>

Selepas sambungan sedemikian, Trait2 selain kaedahnya sendiri akan mempunyai kaedah trait Trait1 juga. Mari kita semak: buat kelas Test, sambungkan trait Trait2 kepadanya dan pastikan bahawa dalam kelas kami kaedah dari kedua-dua trait pertama, dan trait kedua akan muncul:

Test.php<?php
  class Test
  {
    use Trait2; // menyambungkan trait kedua
    
    public function __construct()
    {
      echo $this->method1(); // kaedah trait pertama
      echo $this->method2(); // kaedah trait pertama
      echo $this->method3(); // kaedah trait kedua
    }
  }
?>
Задание 1

Buat sendiri trait yang sama, seperti saya dan sambungkannya ke kelas Test. Buat dalam kelas ini kaedah getSum, yang mengembalikan jumlah hasil kaedah trait yang disambungkan.