MyBB Destek Forumu

Orjinalini görmek için tıklayınız: Php Protected Özelliği
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Php İle Class Özellikleri

Protected özelliği atanan bir değişken veya metot ise sadece sınıf içerisinden veya türetilen bir sınıf içerisinden erişim hakkına izin verir. Yani kullanıcı başlattığı sınıf içindeki protected tanımlı değişken veya metotlara asla erişemez.

Örnek ;

Kod:
view source
print?
01    < ?php
02    class a
03    {
04        protected $isim = 'yusuf';
05    
06        public function isimGetir()
07        {
08            echo $this->isim;
09        }
10    }
11    
12    $a = new a;
13    echo $a->isim;
14    echo '';
15    $a->isimGetir();
16    ?>

Yukarıdaki örneği çalıştırdığımızda ekrana “Cannot access protected property..” diye hata çıktısı verecektir. Bunun sebebi classı başlatıp ardından da protected özelliği atanmiş değişkeni çağırmak istememizden dolayıdır. Ancak echo $a->isim; satırını silersek ekrana bu sefer $isim içeriğini yazacaktır.
Neden hata vermiyor gibi bir düşünce gelebilir aklınıza ama ne demiştik protected veya private tanımlı bir değişken veya metot sadece sınıfın kendi içinden çağrılabilir dolayısıyla public tanımlanmış isimGetir() metodu sınıfın içinde olduğu için $isim değişkenine bu metot sayesinde erişmiş oluyoruz. Böylece classı kullanacakların classı olumsuz etkilemesinden korumuş oluyoruz.