Синтакса на именските простори во ООП во 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 креирајте објекти
од едната и од другата класа.