static
anahtar kelimesi, PHP'de sınıfa bağlı özellikler (properties) ve metotlar (methods) tanımlamak için kullanılır. Bu özellik ve metotlara bir nesne oluşturmadan doğrudan sınıf üzerinden erişilebilir.
Normalde bir sınıftaki özellik veya metoda erişmek için bir nesne oluşturman gerekir. Ancak static
kullanıldığında, o özellik veya metot sınıfa bağlı hale gelir ve nesne oluşturmadan kullanılabilir.
Static Özellik ve Metotlar
- Static Özellikler: Sınıfa özgüdür ve tüm nesneler için ortak bir değer taşır.
- Static Metotlar: Bir nesne yerine sınıf üzerinden çalıştırılır. Static metotlar içinde
$this
kullanılamaz, çünkü$this
bir nesneyi temsil eder.
Static Kullanımına Örnek
Önemli Notlar:
- Static özelliklere ve metotlara
self::
veyaClassName::
kullanarak erişilir. - Static özellik ve metotlar nesneye değil, doğrudan sınıfa bağlıdır.
self::
→ Sınıf içinden static özelliğe/metoda erişim için kullanılır.ClassName::
→ Sınıf dışından static özelliğe/metoda erişim için kullanılır.
Static Özelliklerin Durumunu Değiştirme
Static özellikler, sınıfa özgü olduğu için her nesnede aynı değeri taşır. Örneğin:
Static ile Diğer Özelliklerin Farkı
Eğer static kullanmazsan, her nesne için özellikler farklı olur. Static ise ortak bir özellik/metot sağlar.
Static ve Late Static Binding
Eğer bir sınıftan türeyen sınıflarda static
metodun sınıfa özgü davranmasını istersen, static::
kullanmalısın. Örneğin:
Hiç yorum yok:
Yorum Gönder