Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
⊗ppOpTrAM 80 of 107 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Модификаторы доступа и трейты в ООП в PHP

Следует обратить ваше внимание на то, что использование трейтов - это не наследование. При наследовании приватные методы и свойства не наследуются.

В трейтах же все наоборот: в использующем трейт классе будут доступны как публичные, так и приватные методы и свойства класса.

Посмотрим на примере. Пусть у нас есть следующий трейт с приватным методом:

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

Подключим наш трейт к классу:

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

Используем приватный метод трейта:

<?php class Test { use TestTrait; // подключаем трейт public function __construct() { echo $this->method(); // выведет '!!!' } } new Test; ?>
azbydeenesfrkakkptruuz