Mabadiliko ya Haki za Ufikiaji kwa Mbinu za Trait katika OOP PHP
Ndani ya trait unaweza kutumia kiwango chochote cha ufikiaji
kwa mbinu (yaani public, private
au protected). Iwajapo, hata hivyo,
katika darasa lenyewe unaweza kubadilisha kiwango hiki
kuwa kingine. Ili kufanya hivyo, katika mwili wa use baada ya
neno kuu as unahitaji kubainisha kiwango kipya
cha ufikiaji.
Tutaangalia kwa mfano. Wacha tuwe na trait ifuatayo na mbinu ya faragha:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Wacha tuunganishe trait yetu kwenye darasa:
<?php
class Test
{
use TestTrait;
}
?>
Wacha tubadilishe mbinu darasani kuwa ya umma:
<?php
class Test
{
use TestTrait {
TestTrait::method as public;
}
}
?>
Wacha tuangalie utendakazi wa mbinu ya umma nje ya darasa:
<?php
$test = new Test;
echo $test->method(); // itatoa '!!!'
?>