Сінтаксіс прастораў імёнаў у ААП у 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 стварыце аб'екты
аднаго і другога класаў.