Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
⊗ppOpTrARC 81 of 107 menu

Змяненне правоў доступу да метадаў трэйта ў ААП у 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(); // выведзе '!!!' ?>
byenru