Klassenavn alias for navnerom i OOP i PHP

La oss si at vi har to klasser Data, som tilhører forskjellige navnerom. La oss si at i en klasse trenger vi objekter fra begge disse klassene:

/project/test.php<?php
  namespace Project;
  
  class Test
  {
    public function __construct()
    {
      $data1 = new \Core\Users\Data; // oppretter et objekt
      $data2 = new \Core\Admin\Data; // oppretter et objekt
    }
  }
?>

La oss si at vi bestemte oss for å forenkle kall til klassene via kommandoen use. I dette tilfellet venter det et problem på oss: begge klassene har navnet Data, og det betyr at vi vil få en navnekonflikt:

/project/test.php<?php
  namespace Project;
  
  // Det vil bli navnekonflikt:
  use \Core\Users\Data; // kobler til den første klassen
  use \Core\Admin\Data; // kobler til den andre klassen
  
  class Test
  {
    public function __construct()
    {
      $data1 = new Data;
      $data2 = new Data;
    }
  }
?>

For å løse dette problemet finnes det en spesiell kommando as, som lar deg tildele den tilkoblede klassen et alias - et navn som denne klassen vil være tilgjengelig under i denne filen. La oss gi våre klasser Data nye navn:

/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

Forenkle følgende kode ved bruk av use:

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

Forenkle følgende kode ved bruk av use:

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