Voorbeeld van static in OOP in PHP

Stel dat we de volgende klasse User hebben:

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

Laten we ervoor zorgen dat deze klasse het aantal van zijn objecten telt. Hiervoor maken we een statische eigenschap count. Initieel schrijven we er de waarde 0 in, en bij het creëren van elk nieuw object verhogen we deze waarde met 1.

We zullen de waarde van onze teller verhogen in de constructor van het object:

User.php<?php
  class User
  {
    public static $count = 0; // objectteller
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
      
      // Verhoog de teller bij het aanmaken van een object:
      self::$count++;
    }
  }
?>

Laten we controleren of alles werkt:

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

Maak onze teller privé. Laat de waarde ervan opgevraagd kunnen worden via een speciale methode.