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

Треба да обратите пажњу на то да употреба трејтова није наслеђивање. Приликом наслеђивања приватни методи и својства се не наслеђују.

Код трејтова је све обрнуто: у класи која користи трејт, биће доступни и јавни и приватни методи и својства.

Погледајмо на примеру. Нека имамо следећи трејт са приватним методом:

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

Прикључимо наш трејт класи:

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

Искористимо приватни метод трејта:

php<?php
  class Test
  {
    use TestTrait; // прикључујемо трејт
    
    public function __construct()
    {
      echo $this->method(); // исписаће '!!!'
    }
  }
  
  new Test;
?>