PHP හි OOP හි ට්රෙට් ක්රමවල ප්රවේශ අයිතිවාසිකම් වෙනස් කිරීම
ට්රෙට් එකක් තුළ, ක්රම සඳහා ඕනෑම ප්රවේශ නියාමකයක්
භාවිතා කළ හැකිය (එනම් public, private
හෝ protected). අවශ්ය නම්, කෙසේ වෙතත්,
මඟින්ම පන්තිය තුළ මෙම නියාමකය වෙනස් කළ හැකිය
වෙනත් එකකට. මේ සඳහා ශරීරය use පසුව
යතුරු පදය as නව සඳහන් කළ යුතුය
නියාමකය.
අපි උදාහරණයක් බලමු. අප සතුව පහත ට්රෙට් එක ඇතැයි සිතමු පෞද්ගලික ක්රමය සමඟ:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
අපගේ ට්රෙට් පන්තියට සම්බන්ධ කරමු:
<?php
class Test
{
use TestTrait;
}
?>
පන්තියේ ක්රමය පොදු එකක් ලෙස වෙනස් කරමු:
<?php
class Test
{
use TestTrait {
TestTrait::method as public;
}
}
?>
පොදු ක්රමයේ ක්රියාකාරිත්වය පරීක්ෂා කරමු පන්තියෙන් පිටත:
<?php
$test = new Test;
echo $test->method(); // '!!!' ප්රතිදානය කරයි
?>