Vihisishi cha Ufikiaji na Vipawa katika OOP katika PHP

Inapaswa kuvutia umakini wako kwa ukweli kwamba matumizi ya vipawa - hii sio urithi. Wakati wa kurithi, mbinu za kibinafsi na sifa hazirithiwi.

Katika vipawa kila kitu kiko kinyume: katika darasa linalotumia kipawa zitapatikana zote mbinu za umma na za kibinafsi na sifa za darasa.

Tutaangalia kwa mfano. Wacha tuwe na kipawa kifuatacho na mbinu ya kibinafsi:

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

Wacha tuunganishe kipawa chetu kwa darasa:

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

Tutumie mbinu ya kibinafsi ya kipawa:

php<?php
  class Test
  {
    use TestTrait; // tunaunganisha kipawa
    
    public function __construct()
    {
      echo $this->method(); // itatoa '!!!'
    }
  }
  
  new Test;
?>