Voorbeeld van static in OOP in PHP

Laat ons sê ons het die volgende klas User:

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

Laat ons hierdie klas so maak dat dit die aantal van sy objekte tel. Om dit te doen, sal ons 'n statiese eienskap count maak. Aanvanklik skryf ons die waarde 0 daarin, en by die skepping van elke nuwe objek sal ons hierdie waarde met 1 verhoog.

Ons sal die waarde van ons teller verhoog in die konstruktor van die objek:

User.php<?php
  class User
  {
    public static $count = 0; // objektteller
    public $name;
    
    public function __construct($name)
    {
      $this->name = $name;
      
      // Verhoog die teller wanneer 'n objek geskep word:
      self::$count++;
    }
  }
?>

Kom ons toets dat alles werk:

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

Maak ons teller privaat. Laat die waarde daarvan verkry kan word deur 'n spesiale metode te gebruik.