Пример на static во ООП во 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

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