Spremembe pravic dostopa do metod lastnosti (trait) v OOP v PHP

Znotraj lastnosti (trait) lahko uporabite kateri koli modifikator dostopa za metode (to je public, private ali protected). Po potrebi pa lahko v samem razredu ta modifikator spremenite v drugega. Za to v telesu use po ključni besedi as navedite nov modifikator.

Poglejmo si s primerom. Recimo, da imamo naslednjo lastnost (trait) z zasebno metodo:

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

Povežimo našo lastnost (trait) z razredom:

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

Spremenimo metodo v razredu v javno:

php<?php
  class Test
  {
    use TestTrait {
      TestTrait::method as public;
    }
  }
?>

Preverimo delovanje javne metode zunaj razreda:

php<?php
  $test = new Test;
  echo $test->method(); // izpiše '!!!'
?>