PHP-তে OOP-এ নেমস্পেসে ক্লাসের উপনাম

ধরুন আমাদের কাছে দুটি ক্লাস Data আছে, যেগুলো বিভিন্ন নেমস্পেসের অন্তর্গত। ধরুন আমাদের একটি নির্দিষ্ট ক্লাসে উভয় ক্লাসের অবজেক্ট প্রয়োজন:

/project/test.php<?php
  namespace Project;
  
  class Test
  {
    public function __construct()
    {
      $data1 = new \Core\Users\Data; // একটি অবজেক্ট তৈরি করুন
      $data2 = new \Core\Admin\Data; // একটি অবজেক্ট তৈরি করুন
    }
  }
?>

ধরুন আমরা use কমান্ডের মাধ্যমে ক্লাস কলগুলি সরল করার সিদ্ধান্ত নিয়েছি। এই ক্ষেত্রে আমাদের সমস্যার সম্মুখীন হতে হবে: উভয় ক্লাসের নাম Data, যার মানে হল আমাদের নামের দ্বন্দ্ব হবে:

/project/test.php<?php
  namespace Project;
  
  // নামের দ্বন্দ্ব হবে:
  use \Core\Users\Data; // প্রথম ক্লাস সংযোগ করুন
  use \Core\Admin\Data; // দ্বিতীয় ক্লাস সংযোগ করুন
  
  class Test
  {
    public function __construct()
    {
      $data1 = new Data;
      $data2 = new Data;
    }
  }
?>

এই সমস্যার সমাধানের জন্য একটি বিশেষ কমান্ড as আছে, যা সংযুক্ত ক্লাসটিকে একটি উপনাম দিতে দেয় - সেই নাম যার অধীনে এই ক্লাসটি এই ফাইলে অ্যাক্সেসযোগ্য হবে। আসুন আমাদের Data ক্লাসগুলির নাম পরিবর্তন করি:

/project/test.php<?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;
    }
  }
?>
Задание 1

use ব্যবহার করে নিম্নলিখিত কোডটি সরল করুন:

php<?php
  namespace Project;
  
  class Test
  {
    public function __construct()
    {
      $pageController  = new \Resource\Controller\Page;
      $pageModel       = new \Resource\Model\Page;
    }
  }
?>
Задание 2

use ব্যবহার করে নিম্নলিখিত কোডটি সরল করুন:

php<?php
  namespace Project\Data;
  
  class Test
  {
    public function __construct()
    {
      $pageController  = new \Project\Data\Controller\Page;
      $pageModel       = new \Project\Data\Model\Page;
    }
  }
?>