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