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

PHP কনস্ট্যান্ট (Constants)


পরিচিতি

কনস্ট্যান্টগুলো অ্যাসাইনমেন্ট এক্সপ্রেশনে লিটারেলি রিপ্রেজেন্ট করা হয়, যেমন $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

  1. PHP পূর্বনির্ধারিত গাণিতিক কনস্ট্যান্টসমূহ

  2. PHP pi() ফাংশন

  3. PHP-এ ডোমেইন নাম ভ্যালিডেট করা

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