Php Dersleri
2026 Güncel

PHP OOP Dersleri – Static Method ve Static Değişkenler

5 dk okuma süresi 893 görüntülenme 28.09.2023 4.9 (18 değerlendirme)

Merhaba arkadaşlar phphocasi.com.tr için hazırladığımız php derslerimizde bu ders Statik Method ve Değişkenlere bakacağız.  Statik anahtar kelimesi kullanılan değişken, method veya sınıfın bir örneği (instance) oluşturulmadan o özelliğe ulaşılmasını sağlar. Yani new anahtar kelimesi ile bir örnek(instance) oluşturmaya gerek kalmadan o özelliği kullanabilmemizi sağlar. Statik methodlar belleğin farklı kısımlarında kaydedilirler ama şuan konumuzun dışında olduğu için değinmeyeceğim. Merak edenler dinamik bellek yönetimini araştırabilirler.

Statik Method ve Değişkenler

Statik method ve değişkenler bizim işimizi bir hayli kolaylaştırırlar. Mesela site ayarlarını tuttuğumuz bir  classımız olduğunu düşünün. Bu ayarları kullanmak istediğimiz her sayfada yeniden o sınıfı oluşturmak bizim performansımızı olumsuz yönde etkiler. Biz bu değerleri statik olarak tanımlarsak bellekte bir kere kaydolurlar ve isteğimiz sayfada da bir örnek oluşturmadan kullanabiliriz.

Statik bir değişken veya method oluştururken static anahtar kelimesini kullanırız.  Örneğin:

static $a = 5

Veya bir sınıf içinde method oluşturmak istersek:

class Deneme { public static $a = 5 public static function Test() { echo "Test Methodu Yazıdırıldı" } } // Çağırma Şekli Deneme::Test() // statik method çağırma şekli echo Deneme::$a // statik değişken çağırma şekli

Üstteki örneğe bakacak olursak static anahtar kelimesi ile bir method ve değişken tanımladık. Sınıfın bitişinde de SınıfAdı::MethodAdı, SınıfAdı::$DegiskenAdı şeklinde statik methodu ve değişkeni  çağırdık.

Method veya değişken statik olmasaydı bu şekilde çağırdığımızda hata alacaktık.

Statik Değişken ve Norma Değişkenin Farkı

Statik ve normal değişkenin normal kullanılırken farkı yoktur ama bir fonksiyon veya method içerisinde kullanılırken aralarında çok önemli bir fark vardır.

Bir fonksiyonun içerisinde bir statik değişken tanımlarsak bu değişken ramde bir kere oluşturulur ve değeri sürekli güncellenir. Normal değişkenler böyle değildir.

Yani kısaca statik bir değişkeni bir kere tanımlayıp sadece  değerini güncelliyoruz diyebiliriz.

Statik ve normal olan iki fonksiyonu çalıştırıp aralarındaki farkı görürsek daha iyi anlaşılacaktır.

function StaticEkle($b) { static $a = "Vehbi" $a.=" ".$b echo "$a <br/>" } function NormalEkle($b) { $a = "Vehbi" $a.=" ".$b echo "$a <br/>" } echo " <h2>NormalEkle Fonksiyonu Çalışıyor. </h2> " NormalEkle("Akdoğan") NormalEkle("Erzurum") NormalEkle("01.01.1995") echo " <h2> StaticEkle Fonksiyonu Çalışıyor.</h2> " StaticEkle("Akdoğan") StaticEkle("Erzurum") StaticEkle("01.01.1995")

Kodu çalıştırdığımızda aşağıdaki gibi bir ekran görüntüsü alırız.

StaticEkle fonksiyonumuz her çalıştığında static $a=”Vehbi”  kodu çalışsada daha önceden $a adında bir statik değişken mevcut olduğu için değişkenin içeriği değiştirilmiyor.

Peki ne işimize yarayacak bu kod derseniz hemen güzel bir örnek yapalım.

Web sitesindeki başlığın Anabaşlık – Kategori – Alt Kategori – İçerik Şeklinde bir başlık oluşturan fonksiyon hazırlayalım.

function BaslikOlusturucu($b) { static $a = "Mobilhanem" $a.=" - ".$b echo "$a <br/>" } BaslikOlusturucu("PHP Eğitimleri") // kategori sayfası için çalışan kod BaslikOlusturucu("PHP OOP") // alt kategori sayfasında çalışan kod BaslikOlusturucu("Statik Method ve Değişkenler") // içerik sayfasında çalışan kod

Fonksiyonu 3 adet çağırdık. Birinci fonksiyonu kategori.php sayfasında, ikinci fonksiyonu alt_kategori.php sayfasında, üçüncü fonksiyonu ise icerik.php sayfasında çalıştırırsak icerik.php ye erişen arkadaş 3 fonksiyonuda çalıştırıp aşağıdaki şekilde çıktı almış olur.

Mobilhanem – PHP Eğitimleri – PHP OOP – Statik Method ve Değişkenler

 

Bir dersimizin daha sonuna geldik. Bir sonraki dersimizde görüşmek üzere ?

 

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm php dersleri için tıklayınız..

 

 

 

28
Makaleyi Değerlendirin

Bu makale işinize yaradı mı? Puan verin!

Okuyucu puanları makalelerimizin arama motorlarında öne çıkmasına ve güncellenmesine destek olur.

4.9 / 5 (Toplam 18 oy kullanıldı)

Sıkça Sorulan Sorular (SSS)

Bu makale ve teknik konuyla ilgili detaylar

PHP OOP Dersleri &#8211; Static Method ve Static Değişkenler makalesindeki yöntemler hangi sürümlerde geçerlidir?

İçerikteki çözümler ve kod örnekleri güncel PHP 8.x ve modern web standartları referans alınarak test edilmiştir.

Bu konuda başka makalelere nereden ulaşabilirim?

Sayfanın sağ tarafındaki Kategori Menüsü ve ilgili yazılar alanından benzer teknik rehberleri inceleyebilirsiniz.