PHP ООП-де static-тің қолданылу мысалы

Бізде мынайдай 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

Біздің санауышты жеке жасаңыз. Оның мәні арнайы әдіс арқылы алынуы мүмкін.