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