Трейттердин ичинде Трейттерди колдонуу
Трейттер, класстар сыяктуу эле, башка трейттерди колдонсо болот. Келгиле, мисал менен карап көрөлү. Анда бизде мындай эки методу бар трейт болсун:
<?php
trait Trait1
{
private function method1()
{
return 1;
}
private function method2()
{
return 2;
}
}
?>
Анда бизде дагы бир трейт болсун:
<?php
trait Trait2
{
private function method3()
{
return 3;
}
}
?>
Келгиле, Trait2 трейтине
Trait1 трейтин туташтыралы:
<?php
trait Trait2
{
use Trait1; // биринчи трейтти колдонобуз
private function method3()
{
return 3;
}
}
?>
Ушундай туташтыруудан кийин, Trait2
өз методдору менен чектелбестен, Trait1
трейтинин методдорун да алат. Муну текшеребиз: Test
классың түзүп, ага Trait2 трейтин туташтырып,
классыбызда биринчи жана экинчи трейттердин методдору
пайда болорун текшеребиз:
<?php
class Test
{
use Trait2; // экинчи трейтти туташтырабыз
public function __construct()
{
echo $this->method1(); // биринчи трейттин методу
echo $this->method2(); // биринчи трейттин методу
echo $this->method3(); // экинчи трейттин методу
}
}
?>
Өз алдыңызда мендей эле трейттерди жасап,
аларды Test класска туташтырыңыз.
Бул класста getSum методуң түзүңүз,
ал туташтырылган трейттердин методдорунун
натыйжаларынын суммасын кайтарсын.