Синтакса назива простора у ООП у PHP
Да бисте доделили класи назив простора, потребно је
на почетку датотеке, у којој се та класа налази,
написати наредбу namespace,
а за њом кроз размак - назив тог
простора.
Ако класа припада неком називу простора, тада за креирање објекта класе биће потребно навести не само име класе, већ и њен назив простора, одвојене обрнутом косом цртом. Погледајмо на примеру.
Претпоставимо да имамо класу Page, која не припада
ниједном називу простора. Тада ћемо објекат
ове класе креирати на следећи начин:
<?php
$page = new Page;
?>
Претпоставимо сада да ова класа припада називу простора
Admin. У овом случају ћемо објекат ове
классе креирати већ овако:
<?php
$page = new \Admin\Page;
?>
Раздвојимо класе за кориснике и класе за администраторе по различитим називима простора, како бисмо избегли горе описане сукобе класа.
За класу Page из датотеке /admin/page.php
наведемо назив простора Admin:
<?php
namespace Admin;
class Page
{
}
?>
А за класу Page из датотеке /users/page.php
наведемо назив простора Users:
<?php
namespace Users;
class Page
{
}
?>
Креирајмо сада у датотеци /index.php
објекат једне и друге
класе Page:
<?php
require_once '/admin/page.php';
require_once '/users/page.php';
$adminPage = new \Admin\Page;
$usersPage = new \Users\Page;
?>
Претпоставимо да имате директоријум core и директоријум
project. У сваком од директоријума постоји своја
класа Controller. Подесите тако да
ове класе припадају различитим називима простора.
У датотеци index.php креирајте објекте
једне и друге класе.