Модификатори приступа и трејтови у ООП-у у 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;
?>