PHP හි OOP හි ට්‍රෙට් ක්‍රමවල ප්‍රවේශ අයිතිවාසිකම් වෙනස් කිරීම

ට්‍රෙට් එකක් තුළ, ක්‍රම සඳහා ඕනෑම ප්‍රවේශ නියාමකයක් භාවිතා කළ හැකිය (එනම් public, private හෝ protected). අවශ්‍ය නම්, කෙසේ වෙතත්, මඟින්ම පන්තිය තුළ මෙම නියාමකය වෙනස් කළ හැකිය වෙනත් එකකට. මේ සඳහා ශරීරය use පසුව යතුරු පදය as නව සඳහන් කළ යුතුය නියාමකය.

අපි උදාහරණයක් බලමු. අප සතුව පහත ට්‍රෙට් එක ඇතැයි සිතමු පෞද්ගලික ක්‍රමය සමඟ:

php<?php
  trait TestTrait
  {
    private function method()
    {
      return '!!!';
    }
  }
?>

අපගේ ට්‍රෙට් පන්තියට සම්බන්ධ කරමු:

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

පන්තියේ ක්‍රමය පොදු එකක් ලෙස වෙනස් කරමු:

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

පොදු ක්‍රමයේ ක්‍රියාකාරිත්වය පරීක්ෂා කරමු පන්තියෙන් පිටත:

php<?php
  $test = new Test;
  echo $test->method(); // '!!!' ප්‍රතිදානය කරයි
?>