⊗ppOpTrARC 81 of 107 menu

ტრეიტის მეთოდების წვდომის უფლებების ცვლილება 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(); // გამოიტანს '!!!' ?>
azbydeenesfrkakkptruuz