Syntax priestorov mien v OOP v PHP

Aby sme nastavili triede priestor mien, musíme ako prvý riadok súboru, v ktorom je táto trieda uložená, napísať príkaz namespace, a za ním medzeru - názov tohto priestoru.

Ak trieda patrí do nejakého priestoru mien, potom na vytvorenie objektu triedy bude treba uviesť nielen názov triedy, ale aj jej priestor mien, oddelené spätným lomítkom. Pozrime sa na príklad.

Predpokladajme, že máme triedu Page, ktorá nepatrí do žiadneho priestoru mien. Potom objekt tejto triedy vytvoríme nasledovným spôsobom:

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

Predpokladajme teraz, že táto trieda patrí do priestoru mien Admin. V tomto prípade budeme objekt tejto triedy vytvárať takýmto spôsobom:

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

Rozdeľme triedy pre používateľov a triedy pre adminov do rôznych priestorov mien, aby sme sa vyhli vyššie opísaným konfliktom tried.

Pre triedu Page zo súboru /admin/page.php nastavme priestor mien Admin:

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

A pre triedu Page zo súboru /users/page.php nastavme priestor mien Users:

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

Teraz v súbore /index.php vytvorme objekt prvej a druhej triedy Page:

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

Predpokladajme, že máte priečinok core a priečinok project. V každom z priečinkov je vlastná trieda Controller. Zaistite, aby tieto triedy patrili do rôznych priestorov mien. V súbore index.php vytvorte objekty prvej a druhej triedy.