Alias de classes pour les espaces de noms en POO en PHP

Supposons que nous ayons deux classes Data, appartenant à des espaces de noms différents. Supposons que dans une classe, nous ayons besoin d'objets de ces deux classes :

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

Supposons que nous décidions de simplifier les appels de classes via la commande use. Dans ce cas, nous rencontrons un problème : les deux classes ont le nom Data, ce qui signifie que nous aurons un conflit de noms :

/project/test.php<?php
  namespace Project;
  
  // Il y aura un conflit de noms :
  use \Core\Users\Data; // connectons la première classe
  use \Core\Admin\Data; // connectons la deuxième classe
  
  class Test
  {
    public function __construct()
    {
      $data1 = new Data;
      $data2 = new Data;
    }
  }
?>

Pour résoudre ce problème, il existe une commande spéciale as, permettant d'attribuer à la classe connectée un alias - un nom sous lequel cette classe sera accessible dans ce fichier. Effectuons le renommage de nos classes 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

Simplifiez le code suivant en utilisant use :

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

Simplifiez le code suivant en utilisant use :

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