পিএইচপিতে ওওপি-তে নেমস্পেস সিনট্যাক্স
একটি ক্লাসের জন্য নেমস্পেস নির্দিষ্ট করতে, যে ফাইলে ক্লাসটি সংরক্ষিত আছে সেই ফাইলের প্রথম লাইনে namespace কমান্ডটি লিখতে হবে, এবং তার পরে একটি স্পেস দিয়ে সেই নেমস্পেসের নাম লিখতে হবে।
যদি একটি ক্লাস কোনো নেমস্পেসের অন্তর্গত হয়, তাহলে ক্লাসের অবজেক্ট তৈরি করতে শুধুমাত্র ক্লাসের নামই নয়, তার নেমস্পেসও উল্লেখ করতে হবে, ব্যাকস্ল্যাশ দ্বারা পৃথক করে। আসুন একটি উদাহরণ দেখি।
ধরুন আমাদের কাছে একটি Page ক্লাস আছে, যা কোনো নেমস্পেসের অন্তর্গত নয়। তাহলে এই ক্লাসের একটি অবজেক্ট আমরা নিম্নলিখিতভাবে তৈরি করব:
<?php
$page = new Page;
?>
ধরুন এখন এই ক্লাসটি Admin নেমস্পেসের অন্তর্গত। এই ক্ষেত্রে, এই ক্লাসের একটি অবজেক্ট আমরা এখন এইভাবে তৈরি করব:
<?php
$page = new \Admin\Page;
?>
উপরে বর্ণিত ক্লাসগুলির সংঘর্ষ এড়ানোর জন্য, আসুন ইউজারদের ক্লাস এবং অ্যাডমিনদের ক্লাস আলাদা আলাদা নেমস্পেসে রাখি।
/admin/page.php ফাইলের Page ক্লাসের জন্য আমরা Admin নেমস্পেস নির্দিষ্ট করি:
<?php
namespace Admin;
class Page
{
}
?>
আর /users/page.php ফাইলের Page ক্লাসের জন্য আমরা Users নেমস্পেস নির্দিষ্ট করি:
<?php
namespace Users;
class Page
{
}
?>
আসুন এখন /index.php ফাইলে Page ক্লাসের একটি এবং অন্যটি অবজেক্ট তৈরি করি:
<?php
require_once '/admin/page.php';
require_once '/users/page.php';
$adminPage = new \Admin\Page;
$usersPage = new \Users\Page;
?>
ধরুন আপনার কাছে core ফোল্ডার এবং project ফোল্ডার আছে। প্রতিটি ফোল্ডারে নিজস্ব Controller ক্লাস আছে। এটিকে এমনভাবে সাজান যাতে这些 ক্লাসগুলি বিভিন্ন নেমস্পেসের অন্তর্গত হয়। index.php ফাইলে একটি এবং অন্যটি ক্লাসের অবজেক্ট তৈরি করুন।