PHP ООП-де трейт әдістеріне қатысу құқығын өзгерту
Трейт ішінде әдістер үшін кез келген қатысу
модификаторын қолдануға болады (яғни public, private
немесе protected). Қажет болған жағдайда, дегенмен,
класс ішінде бұл модификаторды басқасына
өзгертуге болады. Ол үшін use денесінде
as кілт сөзінен кейін жаңа
модификаторды көрсету қажет.
Мысал арқылы қарастырайық. Бізде келесі трейт жеке әдіспен бар делік:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Трейтімізді классқа қосамыз:
<?php
class Test
{
use TestTrait;
}
?>
Класта әдісті жалпыға болатын етіп өзгертейік:
<?php
class Test
{
use TestTrait {
TestTrait::method as public;
}
}
?>
Жалпыға болатын әдістің жұмысын класс сыртынан тексерейік:
<?php
$test = new Test;
echo $test->method(); // шығарады '!!!'
?>