Yücel Alkan

PHP OOP Yapısında Static Deyimi

Merhaba. Bu yazımda Object Oriented Programming yapısıdna kullanılan static deyiminden bahsedeceğim. Static deyimi class içerisinde tanımlanan değişken ve fonksiyonlar için kullanılır. Eğer bir değişken veya fonksiyon static yapısında tanımlanmışsa, bu üyelere erişmek için yeni bir nesne oluşturmaya gerek yoktur. Yani static yapıdaki değişken ve fonksiyonlara nesne oluşturmadan, doğrudan class adı üzerinden erişmek mümkündür. 

Aşağıdaki örneği inceleyelim. 

class Ayarlar 
{
    static $pi = 3.14;

    static function sayiUret()
    {
        return rand(1000,9999);
    }
}

echo Ayarlar::$pi;
echo Ayarlar::sayiUret();

Dikkat ederseniz static olarak tanımlanan $pi değişkenine ve sayiUret() fonksiyonuna erişim sağlamak için new Ayarlar(); ifadesini kullanarak yeni bir nesne üretmedim. İşte static yapısının özelliği budur, ClassAdı::$değişkenAdi veya classAdı::fonksiyonAdi(); yazarak class içerisindeki üyelere doğrudan erişim sağlayabilirsiniz.

Burada üzerinde durmamız gereken küçük bir bölüm daha var. Normalde bir nesne oluşturduktan sonra, nesnenin ait olduğu class içerisindeki değişkene erişim sağlamak için $ işareti kullanılmıyor. Ancak static yapıdaki bir değişkene erişim sağlamanız için değişkenin başına $ işareti koymanız gerekiyor. Koymadığınız takdirde hata verecektir. 

Ayrıca bir nesne üretip de burada tanımlanan static yapılara erişmeniz mümkündür. Yani aşağıdaki gibi yeni bir nesne üretip de $pi değişkenine ve sayiUret() fonksiyonuna erişim sağlayabilirsiniz. 

$ayar = new Ayarlar();
echo $ayar::$pi;
echo $ayar::sayiUret();

Soru ve görüşlerinizi yorum olarak belirtebilirsiniz. Hayırlı çalışmalar dilerim.

03.06.2020
4257
Yorumlar
Burak Kömürcü (12 Kasım 2021 - 09:53)
Hocam merhaba ellerinize sağlık verdiğiniz örnekler kavrama konusunda yeterli. Ekstra olarak bunun nerelerde hangi amaçlar için kullanıldığına ve örnek bir kullanım göstermenizde büyük fayda olacağını düşünmekteyim.
Cevapla
Yorum Yapın