কম্পিউটার

পিএইচপি বেনামী ক্লাস


পরিচয়

তম নাম অনুসারে, বেনামী শ্রেণী হল এমন একটি যার নাম নেই। এটি একবার ব্যবহারের জন্য বোঝানো হয়, এবং যদি একজনকে ফ্লাইতে একটি ক্লাস সংজ্ঞায়িত করতে হয়। পিএইচপি 7 সংস্করণ থেকে বেনামী ক্লাসের বৈশিষ্ট্য চালু করা হয়েছে।

বেনামী শ্রেণীর সংজ্ঞা একটি অভিব্যক্তির ভিতরে থাকে যার ফলাফল সেই শ্রেণীর একটি বস্তু। এটিকে নতুন ক্লাস দিয়ে সংজ্ঞায়িত করা হয়েছে নিম্নরূপ সিনট্যাক্স

সিনট্যাক্স

<?php
$obj=new class {
   public function sayhello(){
      echo "Hello World";
   }
};
$obj->sayhello();
?>

বেনামী ক্লাস সবকিছু করতে পারে যা একটি স্বাভাবিক যেমন অন্য ক্লাস প্রসারিত করতে পারে, ইন্টারফেস প্রয়োগ করতে পারে বা বৈশিষ্ট্য ব্যবহার করতে পারে

নিম্নলিখিত কোডে, একটি বেনামী ক্লাস প্যারেন্টক্লাসকে প্রসারিত করে এবং প্যারেন্ট ইন্টারফেস প্রয়োগ করে

উদাহরণ

<?php
class parentclass{
   public function test1(){
      echo "test1 method in parent class\n";
   }
}
interface parentinterface{
   public function test2();
}
$obj=new class() extends parentclass implements parentinterface {
   public function test2(){
      echo "implements test2 method from interface";
   }
};
$obj->test1();
$obj->test2();
?>

আউটপুট

আউটপুট নিম্নরূপ -

test1 method in parent class
implements test2 method from interface

নেস্টেড বেনামী ক্লাস

বেনামী ক্লাস অন্য ক্লাস পদ্ধতির শরীরের ভিতরে নেস্ট করা যেতে পারে। যাইহোক, এর অবজেক্টের বাইরের শ্রেণীর ব্যক্তিগত বা সুরক্ষিত সদস্যদের অ্যাক্সেস নেই

উদাহরণ

<?php
class testclass{
   public function test1(){
      return new class(){
         public function test2(){
            echo "test2 method of nested anonymous class";
         }
      };
   }
}
$obj2=new testclass();
$obj2->test1()->test2();
?>

আউটপুট

উপরের কোড নিম্নলিখিত ফলাফল তৈরি করে -

নেস্টেড বেনামী ক্লাসের
test2 method of nested anonymous class

বেনামী শ্রেণীর অভ্যন্তরীণ নাম

পিএইচপি পার্সার অভ্যন্তরীণ ব্যবহারের জন্য বেনামী ক্লাসকে একটি অনন্য নাম দেয়

উদাহরণ

<?php
var_dump(get_class(new class() {} ));
?>

আউটপুট

এটি নিম্নলিখিত −

অনুরূপ আউটপুট তৈরি করবে
string(60) "class@anonymous/home/cg/root/1569997/main.php0x7f1ba68da026"

  1. PHP-এ ইন্টারফেস ব্যাখ্যা কর।

  2. পিএইচপি-তে বিমূর্ত শ্রেণী ব্যাখ্যা কর।

  3. PHP-তে get_class_methods() ফাংশন

  4. PHP-তে class_exists() ফাংশন