Псевдоними на класи за именски простори во ООП во PHP

Нека имаме две класи 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;
    }
  }
?>