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

PHP-ে লেট স্ট্যাটিক বাইন্ডিং কী?


লেট স্ট্যাটিক বাইন্ডিংর মূল ধারণা হল ইনহেরিটেন্সের ধারণা এবং 'self' কীওয়ার্ডের ধারণা একই নিয়ম মেনে চলে না। উদাহরণস্বরূপ, পেরেন্ট ক্লাসের একটি মেথড 'fun' চাইল্ড ক্লাসে কল করা হলে 'self' চাইল্ডকে রেফার করবে না (যেমন আশা করা হয়)।

লেট স্ট্যাটিক বাইন্ডিং ধারণাটি একটি নতুন কীওয়ার্ড 'static' নিয়ে এসেছে, যা যখন ব্যবহার করা হয়, ফাংশনটি রানটাইম ক্লাসের সাথে বা সেই ক্লাসের সাথে বাইন্ড হয় যেখানে ফাংশনটি প্রথম ব্যবহার করা হয়েছিল। এর পাশাপাশি, যেকোনো স্ট্যাটিক ফাংশন বা ভেরিয়েবল সাধারণত রানটাইমে এক্সিকিউট হয় কম্পাইল টাইমে না। তাই, যদি কোনো স্ট্যাটিক ভেরিয়েবলে ডাইনামিকভাবে ভ্যালু অ্যাসাইন করতে হয়, সেটি রানটাইমে হয়, এবং এটিকে লেট স্ট্যাটিক বাইন্ডিং বলা হয়।

উদাহরণ

<?php class student { public static $my_name = 'Joe'; public static function getName() { return "The name of the student is : " . self::$my_name; } public static function getAge() { echo static::getName(); } } class Professor extends student { public static function getName() { return "The name of the student is : " . self::$my_name . " and age is 24."; } } student::getAge(); echo "\n"; Professor::getAge(); ?>

আউটপুট

The name of the student is : Joe The name of the student is : Joe and age is 24.

'student' নামক একটি ক্লাসে একটি নাম এবং নাম বের করার একটি ফাংশন রয়েছে। আরেকটি ফাংশন ছাত্রের বয়স বের করে। 'professor' নামক একটি ক্লাস student ক্লাসকে এক্সটেন্ড করেছে এবং ফাংশনটিও ইনহেরিট করেছে। ছাত্র এবং প্রফেসর উভয়ের ইনস্ট্যানসে বয়স বের করার ফাংশনটি কল করা হচ্ছে।


  1. PHP ফাইল কী? খোলা, এডিট, কনভার্ট ও HTML-এর সাথে কাজ করার গাইড

  2. C#-এ ক্লাসের স্ট্যাটিক মেম্বার (Static Members) কী?

  3. জাভাতে ক্লাস/স্ট্যাটিক মেথড কী?

  4. পাইথন ক্লাসে স্ট্যাটিক মেথড কী?