পিএইচপিতে OOP-এ নেমস্পেসে আপেক্ষিক পথ
ধরুন index.php ফাইলে নিম্নলিখিত কলটি
ঘটে:
<?php
namespace Admin\Data;
new \Core\Controller;
?>
আপনি ইতিমধ্যেই জানেন, একটি ক্লাসে অ্যাক্সেস করার সময় এর নেমস্পেসের আগে ব্যাকস্ল্যাশ লিখতে হয়। আসলে এটি বাধ্যতামূলক নয়। যদি এই স্ল্যাশটি না লিখে রাখা হয়, তাহলে কল করা নেমস্পেসটি বর্তমান নেমস্পেসের সাপেক্ষে গণনা করা হবে। উদাহরণ দেখুন:
<?php
namespace Admin\Data;
new Core\Controller; // \Admin\Data\Core\Controller এর সমতুল্য
?>
দুটি ক্লাস দেওয়া হয়েছে:
<?php
namespace Modules\Shop\Core;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Core\Cart
{
}
?>
ক্লাস ইনহেরিটেন্সের জন্য কোডটি সরল করুন, এই বিষয়টি মাথায় রেখে যে আমাদের ক্লাসগুলির নেমস্পেসের একটি মিলিত অংশ রয়েছে।
দুটি ক্লাস দেওয়া হয়েছে:
<?php
namespace Core\Data;
class Controller
{
}
?>
<?php
namespace Core\Data;
class Model
{
}
?>
index.php ফাইলে এই ক্লাসগুলির অবজেক্টগুলি
এভাবে তৈরি করা হয়েছে:
<?php
namespace Core\Data;
$controller = new \Core\Data\Controller;
$model = new \Core\Data\Model;
?>
অবজেক্ট তৈরির জন্য কোডটি সরল করুন, এই নেমস্পেসটি মাথায় রেখে যেখানে আমাদের ক্লাসগুলির অবজেক্ট তৈরি করা হচ্ছে।