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

PHP নেমস্পেস ওভারভিউ


ভূমিকা

PHP-তে নেমস্পেসের ব্যবহার একই নামে ক্লাস/ফাংশন/কনস্ট্যান্টকে বিভিন্ন কনটেক্সটে কোনো конф্লিক্ট ছাড়াই ব্যবহার করার সুযোগ দেয়, এভাবে এই আইটেমগুলো এনক্যাপসুলেট করা যায়। একটি নেমস্পেস হলো ক্লাস/ফাংশন ইত্যাদির তাদের প্রাসঙ্গিকতার উপর ভিত্তি করে লজিক্যাল গ্রুপিং।正如 একই নামে ফাইল দুটি আলাদা ফোল্ডারে থাকতে পারে, একই নামে ক্লাস দুটি নেমস্পেসে ডিফাইন করা যায়।再者, যেন ফাইল অ্যাক্সেস করার জন্য পুরো পাথ নির্দিষ্ট করতে হয়, ক্লাস অ্যাক্সেস করার জন্য পুরো নাম নেমস্পেসসহ নির্দিষ্ট করতে হয়।

অ্যাপ্লিকেশন কোড বড় হলে নেমস্পেসের ব্যবহার অত্যন্ত গুরুত্বপূর্ণ হয়ে ওঠে। প্রতিটি ক্লাস/ফাংশনের জন্য অনন্য নাম দিলে কঠিন এবং সáfিক না হয়, নেমস্পেস সাহায্য করে। উদাহরণস্বরূপ, যদি আমরা calculate() ফাংশন ডিক্লেয়ার করতে চাই এরিয়া এবং ট্যাক্স ক্যালকুলেট করার জন্য, তাদের calculate_area() এবং calculate_tax() নামে ডিফাইন না করে, আমরা area এবং tax নামে দুটি নেমস্পেস তৈরি করে সেসব নেমস্পেসে calculate() ব্যবহার করতে পারি।

নেমস্পেস ব্যবহার দুটি সমস্যা সমাধান করে:

  • তৃতীয় পক্ষের ক্লাস/ফাংশন/কনস্ট্যান্টের সাথে নাম সংঘর্ষ এড়ানো।

  • এক্স্ট্রা_লং_নেমের এলিয়াস (বা সংক্ষেপ) করার ক্ষমতা, যার ফলে সোর্স কোডের রিডেবিলিটি বাড়ে।

PHP নেমস্পেস সম্পর্কিত ক্লাস, ইন্টারফেস, ফাংশন এবং কনস্ট্যান্ট গ্রুপ করার একটি পথ প্রদান করে। নেমস্পেসের নাম কেস-ইনসেনসিটিভ।

উদাহরণ

<?php
namespace myspace;
function hello() {
    echo "Hello World\n";
}
?>

একটি নেমস্পেসে ডিফাইন করা ফাংশন কল করতে, use কিওয়ার্ড দিয়ে ইনক্লিউড করতে হয়। ফাংশনের নাম নেমস্পেস দিয়ে কোয়ালিফাইড করতে হয়।

উদাহরণ

<?php
namespace myspace;
function hello() {
    echo "Hello World\n";
}
use myspace;
myspace\hello();
?>

আউটপুট

উপরোক্ত কোড এখন নিচের আউটপুট দেয়:

Hello World

  1. PHP-তে নম্বর থেকে মাসের নাম বের করা

  2. PHP-তে namespace কিওয়ার্ড কী?

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

  4. C#-এ নেস্টেড নেমস্পেস (Nested Namespaces) কী