Klassealias for navnerum i OOP i PHP

Lad os sige, at vi har to klasser Data, der tilhører forskellige navnerum. Lad os sige, at vi i en bestemt klasse har brug for objekter fra begge disse klasser:

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

Lad os sige, at vi besluttede at forenkle kald af klasser via kommandoen use. I dette tilfælde venter der os et problem: begge klasser har navnet Data, og det betyder, at vi vil have en navnekonflikt:

/project/test.php<?php
  namespace Project;
  
  // Der vil være navnekonflikt:
  use \Core\Users\Data; // tilslutter den første klasse
  use \Core\Admin\Data; // tilslutter den anden klasse
  
  class Test
  {
    public function __construct()
    {
      $data1 = new Data;
      $data2 = new Data;
    }
  }
?>

For at løse dette problem findes der en speciel kommando as, der tillader at tildele den tilsluttede klasse et alias - et navn, under hvilket denne klasse vil være tilgængelig i denne fil. Lad os udføre omdøbning af vores Data-klasser:

/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

Forenkl følgende kode ved hjælp af use:

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

Forenkl følgende kode ved hjælp af use:

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