কম্পিউটার টিউটোরিয়াল

PHP গ্লোবাল ক্লাস অ্যাক্সেস


ভূমিকা

যখন PHP পার্সার একটি আনকোয়ালিফাইড আইডেন্টিফায়ার যেমন ক্লাস বা ফাংশন নাম встреча করে, সেটি কারেন্ট নেমস্পেসে রেজোলভ করে। তাই, PHP-এর প্রিডিফাইন্ড ক্লাসগুলো অ্যাক্সেস করতে, তাদের ফুলি কোয়ালিফাইড নাম দিয়ে \ প্রিফিক্স করে রেফার করতে হয়।

বিল্ট-ইন ক্লাস ব্যবহার

নিচের উদাহরণে, একটি নতুন ক্লাস প্রিডিফাইন্ড stdClass-কে বেস ক্লাস হিসেবে ব্যবহার করে। আমরা এটি \ প্রিফিক্স করে গ্লোবাল ক্লাস হিসেবে নির্দিষ্ট করি:

উদাহরণ

<? 
namespace testspace;
class testclass extends \stdClass{
    //
}
$obj=new testclass();
$obj->name="Raju";
echo $obj->name;
?>

ইনক্লুডেড ফাইলগুলো ডিফল্টভাবে গ্লোবাল নেমস্পেসে থাকে। তাই, ইনক্লুডেড ফাইল থেকে একটি ক্লাস রেফার করতে, সেটি \ দিয়ে প্রিফিক্স করতে হবে।

উদাহরণ

#test1.php
<?php
class myclass{
    function hello(){ echo "Hello World\n";}
}
?>

এই ফাইলটি অন্য একটি PHP স্ক্রিপ্টে ইনক্লুড করা হয়েছে এবং এর ক্লাস \ দিয়ে রেফার করা হয়েছে।

যখন এই ফাইলটি অন্য একটি নেমস্পেসে ইনক্লুড করা হয়:

উদাহরণ

#test2.php
<?php
include 'test1.php';
class testclass extends \myclass{
    function hello(){
        echo "Hello PHP\n";
    }
}
$obj1=new \myclass();
$obj1->hello();
$obj2=new testclass();
$obj2->hello();
?>

আউটপুট

এটি নিচের আউটপুট প্রিন্ট করবে:

Hello World
Hello PHP

  1. PHP-তে ইন্টারফেস (Interface) ব্যাখ্যা

  2. PHP-তে অ্যাবস্ট্রাক্ট ক্লাস (Abstract Class) ব্যাখ্যা

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

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