PHP-তে OOP-এ নেমস্পেসে ক্লাসের উপনাম
ধরুন আমাদের কাছে দুটি ক্লাস Data আছে,
যেগুলো বিভিন্ন নেমস্পেসের অন্তর্গত।
ধরুন আমাদের একটি নির্দিষ্ট ক্লাসে উভয় ক্লাসের
অবজেক্ট প্রয়োজন:
<?php
namespace Project;
class Test
{
public function __construct()
{
$data1 = new \Core\Users\Data; // একটি অবজেক্ট তৈরি করুন
$data2 = new \Core\Admin\Data; // একটি অবজেক্ট তৈরি করুন
}
}
?>
ধরুন আমরা use কমান্ডের মাধ্যমে ক্লাস কলগুলি
সরল করার সিদ্ধান্ত নিয়েছি। এই ক্ষেত্রে আমাদের
সমস্যার সম্মুখীন হতে হবে: উভয় ক্লাসের নাম Data,
যার মানে হল আমাদের নামের দ্বন্দ্ব হবে:
<?php
namespace Project;
// নামের দ্বন্দ্ব হবে:
use \Core\Users\Data; // প্রথম ক্লাস সংযোগ করুন
use \Core\Admin\Data; // দ্বিতীয় ক্লাস সংযোগ করুন
class Test
{
public function __construct()
{
$data1 = new Data;
$data2 = new Data;
}
}
?>
এই সমস্যার সমাধানের জন্য একটি বিশেষ কমান্ড
as আছে, যা সংযুক্ত ক্লাসটিকে একটি
উপনাম দিতে দেয় - সেই নাম যার অধীনে
এই ক্লাসটি এই ফাইলে অ্যাক্সেসযোগ্য হবে। আসুন
আমাদের Data ক্লাসগুলির নাম পরিবর্তন করি:
<?php
namespace Project;
use \Core\Users\Data as UsersData;
use \Core\Admin\Data as AdminData;
class Test
{
public function __construct()
{
$data1 = new UsersData;
$data2 = new AdminData;
}
}
?>
use ব্যবহার করে নিম্নলিখিত কোডটি
সরল করুন:
<?php
namespace Project;
class Test
{
public function __construct()
{
$pageController = new \Resource\Controller\Page;
$pageModel = new \Resource\Model\Page;
}
}
?>
use ব্যবহার করে নিম্নলিখিত কোডটি
সরল করুন:
<?php
namespace Project\Data;
class Test
{
public function __construct()
{
$pageController = new \Project\Data\Controller\Page;
$pageModel = new \Project\Data\Model\Page;
}
}
?>