Сінтаксіс прастораў імёнаў у ААП у PHP

Каб задаць класу прастору імёнаў, трэба першай строчкай файла, у якім захоўваецца гэты клас напісаць каманду namespace, а пасля яе праз прабел - назву гэтай прасторы.

Калі клас адносіцца да якой-небудзь прасторы імёнаў, то для стварэння аб'екта класа трэба будзе паказаць не толькі імя класа, але і яго прастору імёнаў, аддзеленыя адваротным слэшам. Давайце паглядзім на прыкладзе.

Хай у нас ёсць клас Page, які не адносіцца ні да якой прасторы імёнаў. Тады аб'ект гэтага класа мы створым наступным чынам:

index.php<?php
  $page = new Page;
?>

Хай цяпер гэты клас належыць прасторы імёнаў Admin. У гэтым выпадку аб'ект гэтага класа мы будзем ствараць ужо вось такім чынам:

index.php<?php
  $page = new \Admin\Page;
?>

Давайце разнясём класы для карыстальнікаў і класы для адміна па розных прасторах імёнаў, каб пазбегнуць апісаных вышэй канфліктаў класаў.

Для класа Page з файла /admin/page.php укажам прастору імёнаў Admin:

/admin/page.php<?php
  namespace Admin;
  
  class Page
  {
    
  }
?>

А для класа Page з файла /users/page.php укажам прастору імёнаў Users:

/users/page.php<?php
  namespace Users;
  
  class Page
  {
    
  }
?>

Давайце цяпер у файле /index.php створым аб'ект аднаго і другога класа Page:

index.php<?php
  require_once '/admin/page.php';
  require_once '/users/page.php';
  
  $adminPage = new \Admin\Page;
  $usersPage = new \Users\Page;
?>
Задание 1

Хай у вас ёсць тэчка core і тэчка project. У кожнай з тэчак ёсць свой клас Controller. Зрабіце так, каб гэтыя класы належалі розным прасторам імёнаў. У файле index.php стварыце аб'екты аднаго і другога класаў.