Ndryshimet e të drejtave të qasjes në metodat e trait në OOP në PHP
Brenda një traiti mund të përdorni çdo modifikues
qasjeje për metodat (d.m.th. public, private
ose protected). Sidoqoftë, nëse është e nevojshme,
në vetë klasën ky modifikues mund të ndryshohet
në një tjetër. Për këtë, në trupin e use pas
fjalës kyçe as duhet të specifikoni
modifikuesin e ri.
Le ta shohim me një shembull. Le të themi se kemi trait-in e mëposhtëm me një metodë private:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Le ta lidhim trait-in tonë me klasën:
<?php
class Test
{
use TestTrait;
}
?>
Le ta ndryshojmë metodën në publik në klasë:
<?php
class Test
{
use TestTrait {
TestTrait::method as public;
}
}
?>
Le të kontrollojmë funksionimin e metodës publike jashtë klasës:
<?php
$test = new Test;
echo $test->method(); // do të shfaqë '!!!'
?>