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

PHP-তে define() বনাম const তুলনা

যা所周知 define() এবং const দুটোই PHP স্ক্রিপ্টে কনস্ট্যান্ট ঘোষণা করতে ব্যবহৃত হয়।

সিনট্যাক্স

<?php 
const VAR = 'FOO'; 
define('VAR', 'FOO'); 
?>

এই দুটির পার্থক্য নিচে আলোচনা করা হলো:

  • মূল পার্থক্য হলো const কম্পাইল টাইমে কনস্ট্যান্ট ডিফাইন করে, আর define() রানটাইমে ডিফাইন করে।
  • const কিওয়ার্ড কন্ডিশনাল ব্লকে কনস্ট্যান্ট ডিক্লেয়ার করতে ব্যবহার করা যায় না, কিন্তু define()-এর মাধ্যমে করা যায়।
  • <?php 
    if(){ 
        const VAR = 'FOO'; // invalid 
    } 
    if(){ 
        define('VAR', 'FOO'); // valid 
    } 
    ?>
  • const স্ট্যাটিক স্ক্যালার (নাম্বার, স্ট্রিং বা অন্যান্য কনস্ট্যান্ট যেন true, false, null, __FILE__) গ্রহণ করে, আর define() যেকোনো এক্সপ্রেশন নিতে পারে।
  • const সবসময় কেস-সেনসিটিভ, কিন্তু define() থার্ড আর্গুমেন্ট হিসেবে true পাস করলে কেস-ইনসেনসিটিভ কনস্ট্যান্ট ডিফাইন করতে দেয়।
  • const ক্লাস বা ইন্টারফেসের ভিতরে ক্লাস কনস্ট্যান্ট বা ইন্টারফেস কনস্ট্যান্ট ডিক্লেয়ার করতে ব্যবহার করা যায়, কিন্তু define() এই কাজে ব্যবহার করা যায় না।
  • <?php 
    class abc{ 
        const VAR = 2; // valid 
        echo VAR; // valid 
    } 
    // but 
    class xyz{ 
        define('XUV', 2); // invalid 
        echo XUV; // invalid 
    } 
    ?>
  • উপরোক্ত উদাহরণে দেখা যায় const কিওয়ার্ড দিয়ে ক্লাসের ভিতরে কনস্ট্যান্ট ডিক্লেয়ার করা যায় কিন্তু define() দিয়ে ক্লাসের ভিতরে কনস্ট্যান্ট ডিক্লেয়ার করা যায় না।
  1. PHP-এ define() ফাংশন

  2. PHP-এ ksort() ফাংশন

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

  4. PHP-তে arsort() ফাংশন