PHP'de OOP'de static Kullanımı Örneği

Diyelim ki User adında bir sınıfımız var:

User.php<?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:

User.php<?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:

index.php<?php
  $user1 = new User('user1');
  echo User::$count; // 1 yazdırır
  
  $user2 = new User('user2');
  echo User::$count; // 2 yazdırır
?>
Задание 1

Sayaçımızı private yapın. Değerine özel bir metot aracılığıyla ulaşılabilsin.