PHP OOP හි 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

අපගේ කවුන්ටරය පුද්ගලික කරන්න. එහි අගය විශේෂ ක්‍රමයක් භාවිතයෙන් ලබා ගත හැකි වන පරිදි සකසන්න.