PHP-তে OOP-তে অস্তিত্বহীন বৈশিষ্ট্য পড়া

পূর্ববর্তী পাঠে উল্লিখিত উদাহরণে, আমরা ব্যক্তিগত বৈশিষ্ট্যগুলিতে অ্যাক্সেস ক্যাপচার করতে __get ম্যাজিক পদ্ধতি প্রয়োগ করেছি। বাস্তবে, এই পদ্ধতিটি অস্তিত্বহীন বৈশিষ্ট্যগুলিতে অ্যাক্সেস ক্যাপচার করার জন্যও উপযোগী হতে পারে।

একটি ব্যবহারিক উদাহরণ দেখি। ধরা যাক আমাদের কাছে User ক্লাস আছে যার নাম এবং উপনাম পাবলিক বৈশিষ্ট্য:

User.php<?php
  class User
  {
    public $surn;
    public $name;
  }
?>

আসুন আমরা এটি তৈরি করি যাতে ক্লাসের অবজেক্ট এর মতো আচরণ করে যেন এর full নামক একটি বৈশিষ্ট্যও রয়েছে, যা ব্যবহারকারীর নাম এবং উপনাম প্রদর্শন করে। এর জন্য আমরা আমাদের ম্যাজিক পদ্ধতি __get ব্যবহার করব:

User.php<?php
  class User
  {
    public $surname;
    public $name;
    public $patronymic;
    
    public function __get($property)
    {
      if ($property == 'full') {
        return $this->surn . ' ' . $this->name;
      }
    }
  }
?>

পরীক্ষা করা যাক:

index.php<?php
  $user = new User;
  
  $user->surn = 'john';
  $user->name = 'smit';
  
  echo $user->full; // আউটপুট দেবে 'john smit'
?>
Задание 1

পাবলিক বৈশিষ্ট্য সহ Date ক্লাস তৈরি করুন year, month এবং day। ম্যাজিক ব্যবহার করে weekDay বৈশিষ্ট্য তৈরি করুন, যা তারিখের সাথে সঙ্গতিপূর্ণ সপ্তাহের দিনটি ফিরিয়ে দেবে।