PHP Access Modifiers [ Erişim Niteleyicileri ]

Bu yazı 2013 yılında yazıldı. Bazı bilgiler ve araçlar güncelliğini yitirmiş olabilir.

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.

Mustafa Toker

Backend mühendisi ve ekip lideri. JVM, Spring Boot, Oracle ve yapay zekâ destekli yazılım geliştirme üzerine sahadan notlar yazıyorum.