Пример статичких метода и својстава у ООП у PHP

Претпоставимо да имамо следећу класу User:

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

Хајде да модификујемо ову класу тако да броји колико њених објеката је креирано. За то ћемо користити статичко својство count. Иницијално ћемо му поставити вредност 0, а приликом креирања сваког новог објекта ћемо ту вредност увећати за 1.

Повећавање вредности нашег бројача ћемо обавити у конструктору објекта:

User.php<?php
  class User
  {
    public static $count = 0; // бројач објеката
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
      
      // Повећавамо бројач при креирању објекта:
      self::$count++;
    }
  }
?>

Проверимо да ли све функционише:

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

Направите наш бројач приватним. Нека његова вредност може да се добије помоћу посебног метода.