Piemērs static izmantošanai OOP PHP

Pieņemsim, ka mums ir šāda klase User:

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

Izveidosim šo klasi tā, lai tā saskaitītu savu objektu skaitu. Lai to izdarītu, izveidosim statisko īpašību count. Sākotnēji ierakstīsim tajā vērtību 0, un, veidojot katru jaunu objektu, palielināsim šo vērtību par 1.

Palielināsim mūsu skaitītāja vērtību objekta konstruktorā:

User.php<?php
  class User
  {
    public static $count = 0; // objektu skaitītājs
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
      
      // Palielinām skaitītāju, veidojot objektu:
      self::$count++;
    }
  }
?>

Pārbaudīsim, vai viss darbojas:

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

Padariet mūsu skaitītāju privātu. Lai tā vērtību varētu iegūt ar speciālas metodes palīdzību.