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

আমাদের কাউন্টারটি প্রাইভেট করুন। এর মান যেন একটি বিশেষ পদ্ধতি ব্যবহার করে পাওয়া যায়।