Veranderinge van toegangsregte tot trait-metodes in OOP in PHP
Binne 'n trait kan enige toegangswyser
vir metodes gebruik word (dit wil sê public, private
of protected). Indien nodig, eger,
kan hierdie wyser in die klas self verander
word na 'n ander een. Vir hierdie doel moet 'n nuwe
wyser gespesifiseer word in die liggaam van use na
die sleutelwoord as.
Laat ons kyk na 'n voorbeeld. Gestel ons het die volgende trait met 'n private metode:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Laat ons ons trait aan die klas koppel:
<?php
class Test
{
use TestTrait;
}
?>
Kom ons verander die metode in die klas na publiek:
<?php
class Test
{
use TestTrait {
TestTrait::method as public;
}
}
?>
Laat ons die werking van die publieke metode van buite die klas toets:
<?php
$test = new Test;
echo $test->method(); // sal '!!!' uitvoer
?>