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:
<?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:
<?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:
<?php
namespace Admin;
class Page
{
}
?>
A pre triedu Page zo súboru /users/page.php
nastavme priestor mien Users:
<?php
namespace Users;
class Page
{
}
?>
Teraz v súbore /index.php
vytvorme objekt prvej a druhej
triedy Page:
<?php
require_once '/admin/page.php';
require_once '/users/page.php';
$adminPage = new \Admin\Page;
$usersPage = new \Users\Page;
?>
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.