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<?php
  trait TestTrait
  {
    private function method()
    {
      return '!!!';
    }
  }
?>

Wacha tuunganishe trait yetu kwenye darasa:

php<?php
  class Test
  {
    use TestTrait;
  }
?>

Wacha tubadilishe mbinu darasani kuwa ya umma:

php<?php
  class Test
  {
    use TestTrait {
      TestTrait::method as public;
    }
  }
?>

Wacha tuangalie utendakazi wa mbinu ya umma nje ya darasa:

php<?php
  $test = new Test;
  echo $test->method(); // itatoa '!!!'
?>