Treita metožu piekļuves tiesību maiņa OOP PHP
Treita iekšienē var izmantot jebkuru piekļuves modifikatoru
metodēm (tas ir public, private
vai protected). Ja nepieciešams, tomēr,
pašā klasē šo modifikatoru var nomainīt
uz citu. Lai to izdarītu, use pamattekstā aiz
atslēgvārda as jānorāda jaunais
modifikators.
Apskatīsim piemērā. Pieņemsim, ka mums ir šāds treits ar privātu metodi:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Pievienosim mūsu treitu klasei:
<?php
class Test
{
use TestTrait;
}
?>
Mainīsim klasē metodi uz publisku:
<?php
class Test
{
use TestTrait {
TestTrait::method as public;
}
}
?>
Pārbaudīsim publiskās metodes darbību ārpus klases:
<?php
$test = new Test;
echo $test->method(); // izvadīs '!!!'
?>