PHP – static Kullanımı

17 Ocak 2020 tarihinde Emre Can ÖZTAŞ tarafından paylaşıldı.

PHP’de static anahtar kelimesinin farklı varyasyonları ile karşılaşabilirsiniz. En temel olarak; static anahtar kelimesi, OOP (Object Oriented Programming) yani “Nesneye Yönelik Programlama”da kullanılan temel bir öğedir. Aynı zaman static anahtar kelimesi ile diğer dillerde de karşılaşabilirsiniz. OOP’de static’in amacı, Bir sınıfa ait olan değişken ve metotları, o sınıftan bir nesne oluşturmadan doğrudan kullanıma açar.

Herneyse, bu yazıda PHP için static anahtar kelimesinin farklı bir kullanımından bahsetmek istiyorum.

<?php

$arr = array('İstanbul', 'Ankara', 'İzmir', 'Bursa', 'Antalya', 'Adana', 'Gaziantep', 'Erzurum', 'Trabzon', 'Konya');

$counter = 0;

foreach ($arr as $city) {
    if ($counter % 2 ==0) {
        echo($city . '<br>');
    }
    
    $counter++;
}

Yukarıdaki kodlarımızda yapılan şu; tanımlı olan dizi içerisindeki illerden, sıralaması çift olanlar yazılıyor. Bu da pek tabi döngü dışında tanımlanmış ve döngü içerisinde arttırılan $counter değişkenine göre yapılıyor. Bu kullanım tamamen doğru herhangi bir sıkıntısı yok. Fakat static anahtar kelimesi ile döngü dışında değil de döngü içerisinde $counter değişkeni tanımlanabilir ve döngünün çalışma zamanı bittiğinde $counter da bellekten silinir. Yukarıdaki gibi bir kullanımda ise; $counter değişkeni hafızada kullanılmaya devam edecektir.

Peki, static anahtar kelimesini nasıl kullanacağız?

<?php

$arr = array('İstanbul', 'Ankara', 'İzmir', 'Bursa', 'Antalya', 'Adana', 'Gaziantep', 'Erzurum', 'Trabzon', 'Konya');

foreach ($arr as $city) {
    static $counter = 0;
    
    if ($counter % 2 ==0) {
        echo($city . '<br>');
    }

    $counter++;
}

Yukarıdaki kullanımda; static anahtar kelimesi ile döngü içerisinde $counter değişkenini tanımladık. static anahtar kelimesini, $counter başında kullanmaz isek; her seferinde $counter değişkeni 0 değerini alacaktır. static anahtar kelimesi ile var olan değerin saklanması işlemini gerçekleştirdik.

Yani anlamamız gereken şey; static anahtar kelimesi prosedürel kod içerisinde, tanımlanan değişkenin değerinin saklanmasını sağlar. Bu sayede; döngü içerisinde işlem yapacaksak ve işlem döngü dışarısında işimize yaramayacaksa, static anahtar kelimesi ile döngü içerisinde kullanılmalıdır.

Kategoriler: [PHP] Etiketler: #foreach #static

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

*
*

This site uses Akismet to reduce spam. Learn how your comment data is processed.