PHP-те ООП-тағы namespace синтаксисі
Классқа namespace беру үшін, сол класс сақталған файлдың
бірінші жолында namespace бұйрығын жазу керек,
одан кейін бос орын арқылы - осы namespace-тің атауын жазу керек.
Егер класс қандай да бір namespace-ке жататын болса, онда класс объектісін жасау үшін тек класс атауын ғана емес, сонымен қатар оның namespace-ін де, кері слеш бөлінген түрде көрсету қажет болады. Мысал арқылы қарастырайық.
Бізде Page класы бар делік, ол ешбір namespace-ке жатпайды.
Онда бұл класс объектісін былай жасаймыз:
<?php
$page = new Page;
?>
Енді бұл класс Admin namespace-іне жатады делік.
Бұл жағдайда бұл класс объектісін біз келесі түрде жасаймыз:
<?php
$page = new \Admin\Page;
?>
Пайдаланушыларға арналған классдар мен әдістерге арналған классдарды жоғарыда сипатталған классдар қақтығысынан аулақ болу үшін, оларды әр түрлі namespace-терге бөлейік.
/admin/page.php файлындағы Page класы үшін
Admin namespace-ін көрсетейік:
<?php
namespace Admin;
class Page
{
}
?>
Ал /users/page.php файлындағы Page класы үшін
Users namespace-ін көрсетейік:
<?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 класы бар. Бұл классдардың әр түрлі namespace-терге
жататындай етіп жасаңыз. index.php файлында бірінші және екінші
классдардың объектілерін жасаңыз.