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;
    }
  }
?>