Промени на пристапните права на методите на трејтот во ООП во 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(); // ќе испише '!!!'
?>