Приоритет метода при раду са трејтовима у ООП у PHP

Ако у класи и у трејту постоји истоимени метод, онда ће метод класе прегазити метод трејта:

php<?php
  trait TestTrait
  {
    // Метод са именом method:
    public function method()
    {
      return 'trait';
    }
  }
  
  class TestClass
  {
    use TestTrait;
    
    // Исто такав метод са именом method:
    public function method()
    {
      return 'test';
    }
  }
  
  $test = new TestClass;
  echo $test->method(); // исписаће 'test' - активирао се метод саме класе
?>

Ако сама класа нема такав метод, али постоји сукоб имена метода трејта и метода родитељске класе, онда методи трејта имају приоритет:

php<?php
  trait TestTrait
  {
    // Метод са именом method:
    public function method()
    {
      return 'trait';
    }
  }
  
  // Родитељска класа:
  class ParentClass
  {
    // Метод са именом method:
    public function method()
    {
      return 'parent';
    }
  }
  
  // Класа наслеђује метод method од родитеља:
  class TestClass extends ParentClass
  {
    use TestTrait;
  }
  
  $test = new TestClass;
  echo $test->method(); // исписаће 'trait', јер трејт има приоритет
?>