Penggunaan Trait dalam Trait
Trait, seperti kelas, juga boleh menggunakan trait lain. Mari kita lihat contoh. Katakan kita mempunyai trait berikut dengan dua kaedah:
<?php
trait Trait1
{
private function method1()
{
return 1;
}
private function method2()
{
return 2;
}
}
?>
Katakan kita juga mempunyai satu lagi trait:
<?php
trait Trait2
{
private function method3()
{
return 3;
}
}
?>
Mari kita sambungkan trait Trait1 kepada
trait Trait2:
<?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:
<?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
}
}
?>
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.