Näide static kasutamisest OOP-s PHP-s

Oletame, et meil on selline klass User:

User.php<?php
  class User
  {
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
    }
  }
?>

Teeme nii, et see klass loendaks oma objektide arvu. Selleks teeme staatilise omaduse count. Algselt paneme sinna väärtuse 0 ja iga uue objekti loomisel suurendame seda väärtust 1 võrra.

Suurendame oma loenduri väärtust objekti konstruktoris:

User.php<?php
  class User
  {
    public static $count = 0; // objektide loendur
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
      
      // Suurendame loendurit objekti loomisel:
      self::$count++;
    }
  }
?>

Kontrollime, et kõik töötab:

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

Tehke meie loendur privaatseks. Olgu selle väärtust võimalik saada spetsiaalse meetodi abil.