Trait metodų prieigos teisių pakeitimai OOP PHP
Traite galima naudoti bet kurį prieigos modifikatorių
metodams (t.y. public, private
arba protected). Jei reikia, vis dėlto,
pačiame klasėje šis modifikatorius gali būti pakeistas
kitu. Tam use kūne po
raktažodžio as reikia nurodyti naują
modifikatorių.
Pažiūrėkime pavyzdžiu. Tarkime, kad turime šį trait su privačiu metodu:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Prijungkime mūsų trait prie klasės:
<?php
class Test
{
use TestTrait;
}
?>
Pakeiskime klasėje metodą į viešą:
<?php
class Test
{
use TestTrait {
TestTrait::method as public;
}
}
?>
Patikrinkime viešo metodo veikimą iš klasės išorės:
<?php
$test = new Test;
echo $test->method(); // išves '!!!'
?>