Мадыфікатары доступу і трэйты ў ААП у 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;
?>