পরিচিতি
কনস্ট্যান্টগুলো অ্যাসাইনমেন্ট এক্সপ্রেশনে লিটারেলি রিপ্রেজেন্ট করা হয়, যেমন $x=10 বা $name="XYZ" যেখানে ১০ এবং XYZ যথাক্রমে নেমেরিক ও স্ট্রিং কনস্ট্যান্ট ভেরিয়েবলে অ্যাসাইন করা হয়েছে। PHP-তে, define() ফাংশন দিয়ে ইউজার-ডিফাইনড আইডেন্টিফায়ার সহ একটি কনস্ট্যান্ট ডিফাইন করা সম্ভব।
সিনট্যাক্স
define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] ) : bool
প্যারামিটার
| Sr.No | প্যারামিটার ও বিবরণ |
|---|---|
| 1 | name কনস্ট্যান্টের নাম। |
| 2 | value কনস্ট্যান্টের মান যেকোনো স্কেলার ভ্যালু (ইন্টিজার, ফ্লোট, স্ট্রিং ইত্যাদি) বা অ্যারে হতে পারে। |
| 3 | case_insensitive কনস্ট্যান্ট আইডেন্টিফায়ার ডিফল্টভাবে কেস-সেনসিটিভ। এই প্যারামিটার true সেট করলে name এবং NAME একই হিসেবে বিবেচিত হবে। |
রিটার্ন ভ্যালু
ফাংশনটি ডিফিনিশন সফল হলে TRUE রিটার্ন করে, অন্যথায় FALSE।
উদাহরণ
নিচের উদাহরণে define() ফাংশন দিয়ে কনস্ট্যান্ট ডিফাইন করা দেখানো হয়েছে—
<?php
define("maxmarks",300);
define("pi", 3.142);
define("subjects",["phy", "che", "maths"]);
?>
ম্যাজিক কনস্ট্যান্টস (Magic Constants)
PHP-তে বড় সংখ্যক প্রিডিফাইনড কনস্ট্যান্ট রয়েছে তবে অধিকাংশ सम्बन्धিত এক্সটেনশন ইন্সটল থাকলে ইnebল থাকে। তবে নিচের কনস্ট্যান্টগুলো—যাদেরকে ম্যাজিক কনস্ট্যান্ট বলা হয়—সবসময় উপলব্ধ থাকে—
| নাম | বিবরণ |
| __LINE__ | ফাইলের বর্তমান লাইন নম্বর। |
| __FILE__ | ফাইলের পূর্ণ পথ এবং ফাইলনেম। |
| __DIR__ | ফাইলের ডিরেক্টরি। |
| __FUNCTION__ | ফাংশন নাম, অ্যানোনিমাস ফাংশনের জন্য {closure}। |
| __CLASS__ | ক্লাস নাম। নেমস্পেস সহ (যেমন Foo\Bar)। PHP 5.4 থেকে __CLASS__ ট্রেইটেও কাজ করে। ট্রেইট মেথডে ব্যবহার করলে __CLASS__ হলো সেই ক্লাসের নাম যেখানে ট্রেইট ব্যবহৃত হয়েছে। |
| __TRAIT__ | ট্রেইট নাম। নেমস্পেস সহ (যেমন Foo\Bar)। |
| __METHOD__ | ক্লাস মেথড নাম। |
| __NAMESPACE__ | বর্তমান নেমস্পেসের নাম। |
নিচের উদাহরণে কিছু ম্যাজিক কনস্ট্যান্ট демонস্ট্রেট করা হয়েছে—
উদাহরণ
<?php
echo "Line no: " . __LINE__ . "\n";
echo "file name : " . __FILE__ . "\n";
echo "directory name: " . __DIR__ . "\n";
function myfunction(){
echo "function name: " . __FUNCTION__ . "\n";
}
class myclass{
public function __construct() {
echo __CLASS__ . "\n";
}
public function mymethod(){
echo __METHOD__;
}
}
$obj=new myclass();
$obj->mymethod();
?>
আউটপুট
নিচের ফলাফল দেখানো হবে—
Line no: 2 file name : C:\xampp\php\testscript.php directory name: C:\xampp\php myclass myclass::mymethod