PHP'de OOP'de static Kullanımı Örneği
Diyelim ki User adında bir sınıfımız var:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Bu sınıfın kendi nesnelerinin sayısını saymasını sağlayalım.
Bunun için count adında bir statik özellik oluşturalım.
Başlangıçta değerini 0 olarak ayarlayalım ve
her yeni nesne oluşturulduğunda bu değeri 1 artıralım.
Sayaç değerimizi nesnenin yapıcı metodunda artıralım:
<?php
class User
{
public static $count = 0; // nesne sayacı
public $name;
public function __construct($name)
{
$this->name = $name;
// Nesne oluşturulduğunda sayacı artır:
self::$count++;
}
}
?>
Her şeyin çalıştığını kontrol edelim:
<?php
$user1 = new User('user1');
echo User::$count; // 1 yazdırır
$user2 = new User('user2');
echo User::$count; // 2 yazdırır
?>
Sayaçımızı private yapın. Değerine özel bir metot aracılığıyla ulaşılabilsin.