Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
⊗ppOpTrNs 84 of 107 menu

Выкарыстанне трэйтаў у трэйтах

Трэйты, падобна класам, таксама могуць выкарыстоўваць іншыя трэйты. Давайце паглядзім на прыкладзе. Хай у нас ёсць вось такі трэйт з двума метадамі:

<?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, які вяртае суму вынікаў метадаў падключаных трэйтаў.

byenru