ՕՕՊ-ում PHP-ում տրեյթի մեթոդների հասանելիության իրավունքների փոփոխություններ
Տրեյթի ներսում կարելի է օգտագործել ցանկացած մուտքի փոփոխիչ
մեթոդների համար (այսինքն 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(); // կարտադրի '!!!'
?>