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