✨ PHP – ম্যাজিক কনস্ট্যান্টস (Magic Constants)
পরিচিতি (Introduction)
PHP-তে Magic Constants হলো কিছু প্রি-ডিফাইন্ড কনস্ট্যান্ট, যেগুলো স্ক্রিপ্ট রান করার সময় ডায়নামিক ভ্যালু প্রদান করে। এগুলো “ম্যাজিক” কারণ এদের ভ্যালু রানটাইমে পরিবর্তিত হয়, যেমন: কোন লাইনে কোড লিখা হয়েছে, কোন ফাইল বা ফাংশনে কোড চলছে ইত্যাদি।
ম্যাজিক কনস্ট্যান্ট লিস্ট
PHP-তে মোট ৮টি প্রধান ম্যাজিক কনস্ট্যান্ট আছে:
__LINE____FILE____DIR____FUNCTION____CLASS____TRAIT____METHOD____NAMESPACE__
১. __LINE__
বর্তমান লাইনের নাম্বার রিটার্ন করে।
<?php
echo "এই কোডটি রয়েছে লাইনে: " . __LINE__;
?>
২. __FILE__
সম্পূর্ণ ফাইল পাথ (ফাইলের অবস্থান) রিটার্ন করে।
<?php
echo "ফাইলের অবস্থান: " . __FILE__;
?>
৩. __DIR__
ফাইলটি যেই ডিরেক্টরিতে আছে সেই ডিরেক্টরির পাথ রিটার্ন করে।
<?php
echo "ডিরেক্টরি: " . __DIR__;
?>
৪. __FUNCTION__
যেই ফাংশনের ভিতরে আছে সেই ফাংশনের নাম রিটার্ন করে।
<?php
function testFunc() {
echo "এই ফাংশনের নাম: " . __FUNCTION__;
}
testFunc();
?>
️ ৫. __CLASS__
যেই ক্লাসের ভিতরে আছে সেই ক্লাসের নাম রিটার্ন করে।
<?php
class Demo {
function showClass() {
echo "এই ক্লাসের নাম: " . __CLASS__;
}
}
$obj = new Demo();
$obj->showClass();
?>
৬. __TRAIT__
যেই ট্রেইট ব্যবহার করা হয়েছে তার নাম রিটার্ন করে। (PHP 5.4+)
<?php
trait SampleTrait {
function showTrait() {
echo "ট্রেইটের নাম: " . __TRAIT__;
}
}
class MyClass {
use SampleTrait;
}
$obj = new MyClass();
$obj->showTrait();
?>
৭. __METHOD__
সম্পূর্ণ ক্লাসের মেথডের নাম (className::methodName) রিটার্ন করে।
<?php
class Tool {
function doSomething() {
echo "মেথডের নাম: " . __METHOD__;
}
}
$t = new Tool();
$t->doSomething();
?>
৮. __NAMESPACE__
বর্তমান নেমস্পেস রিটার্ন করে। (PHP 5.3+)
<?php
namespace MyProject;
echo "নেমস্পেসের নাম: " . __NAMESPACE__;
?>
উপসংহার
PHP-এর ম্যাজিক কনস্ট্যান্টস খুবই দরকারী, বিশেষ করে যখন আপনি ডিবাগ, লগিং বা ডায়নামিক ফাইল ইনফরমেশন ব্যবহারের মতো কাজ করছেন। এই কনস্ট্যান্টগুলো আপনার কোডকে আরও স্মার্ট ও ডায়নামিক করে তোলে।