OOP PHP-s treitud meetodite juurdepääsuõiguste muutmine
Treitud saab kasutada meetodite jaoks mis tahes
juurdepääsumodifikaatorit (st public, private
või protected). Vajadusel saab klassis siiski
seda modifikaatorit muuta teiseks. Selleks tuleb
use kehas pärast võtmesõna as
määrata uus modifikaator.
Vaatame näidet. Oletame, et meil on järgmine treit privaatse meetodiga:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Ühendame oma treidi klassiga:
<?php
class Test
{
use TestTrait;
}
?>
Muudame klassis meetodi avalikuks:
<?php
class Test
{
use TestTrait {
TestTrait::method as public;
}
}
?>
Kontrollime avaliku meetodi tööd klassist väljaspool:
<?php
$test = new Test;
echo $test->method(); // väljastab '!!!'
?>