Namespace sintakse OOP PHP
Lai klasei piešķirtu namespace, failā, kurā glabājas šī klase,
pirmajā rindā jāraksta komanda namespace,
un aiz tās atstarpes - šī namespace nosaukums.
Ja klase pieder kādam namespace, tad, lai izveidotu klases objektu, būs jānorāda ne tikai klases nosaukums, bet arī tās namespace, atdalīti ar slīpsvītru. Apskatīsim piemērā.
Pieņemsim, ka mums ir klase Page, kas nepieder
nevienam namespace. Tad šīs klases objektu
mēs izveidosim šādi:
<?php
$page = new Page;
?>
Pieņemsim, ka šī klase tagad pieder namespace
Admin. Šajā gadījumā šīs klases objektu
mēs izveidosim jau šādi:
<?php
$page = new \Admin\Page;
?>
Sadalīsim lietotāju klases un administratora klases pa dažādiem namespace, lai izvairītos no iepriekš aprakstītajām klases konfliktiem.
Klasei Page no faila /admin/page.php
norādīsim namespace Admin:
<?php
namespace Admin;
class Page
{
}
?>
Un klasei Page no faila /users/page.php
norādīsim namespace Users:
<?php
namespace Users;
class Page
{
}
?>
Tagad failā /index.php
izveidosim viena un otra
klases Page objektu:
<?php
require_once '/admin/page.php';
require_once '/users/page.php';
$adminPage = new \Admin\Page;
$usersPage = new \Users\Page;
?>
Pieņemsim, ka jums ir mape core un mape
project. Katrā no mapēm ir sava
klase Controller. Izveidojiet tā, lai
šīs klases piederētu dažādiem namespace.
Failā index.php izveidojiet viena un otrās klases objektus.