PHP Access Modifiers [ Erişim Niteleyicileri ]

PHP Access Modifiers [ Erişim Niteleyicileri ]

Sınıflara, yapılandırıcılara, metotlara ve özelliklere erişim, erişim niteleyiciler (access modifiers) kullanılarak düzenlenir. PHP’de 3 tür erişim niteliyicisi bulunmaktadır.  Bunlar “public”, “private” ve“protected” tir.

Public: Metoda veya Özelliğe sınıf içinden ve sınıf dışından erişime izin verir. Ayrıca Kalıtım ile aktarılır.

<?php 
  class uyeler{  
    public $uyeAd = 'ahmet';
  
    public function uyeGetir(){      
      echo $this->uyeAd; 
   }
}

 $uyeler = new uyeler;
 echo $uyeler->uyeAd;
 echo '<br />';
 $uyeler->uyeGetir(); 

?>

Private: Sadece class içersinde kullanmaya yetkili sabit bir değişken veya methot yapmak istediğimizde, ilgili kelimelerin başına “private” deyimini ekleyerek bu işlemi gerçekleştiriyoruz. Bu deyim ile oluşturulan sözcükler dışarıdan veya başka bir class içerisinden erişilemezler. Eğer bu sözcüklere dışarıdan erişmeye çalışırsanız, Fatal Error verecektir.

 
Protected: Bu erişim belirteci metoda veya özelliğe sadece sınıfın içinden erişilebileceği fakat alt sınıflara aktarılabileceği anlamına gelmektedir.

<?php 
  class uyeler{
    protected $uyeAd = 'ahmet';
    
   public function uyeGetir(){
      echo $this->uyeAd; }
   }

   $uyeler = new uyeler;
   echo $uyeler->uyeAd;
   echo '<br />';
   $uyeler->uyeGetir();

?>

Yukarıdaki kod bloğunu çalıştırdığımızda ekrana “Cannot access protected property” hatasını basacaktır.