Modifikatorji dostopa in lastnosti v OOP v PHP

Opozoriti vas moramo, da uporaba lastnosti - ni dedovanje. Pri dedovanju zasebne metode in lastnosti niso podedovane.

Pri lastnostih je vse obratno: v razredu, ki uporablja lastnost, bodo dostopne tako javne kot tudi zasebne metode in lastnosti razreda.

Poglejmo si primer. Recimo, da imamo naslednjo lastnost z zasebno metodo:

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

Povežimo našo lastnost z razredom:

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

Uporabimo zasebno metodo lastnosti:

php<?php
  class Test
  {
    use TestTrait; // povežemo lastnost
    
    public function __construct()
    {
      echo $this->method(); // izpiše '!!!'
    }
  }
  
  new Test;
?>