⊗ppOpNsSN 97 of 107 menu

Падпрасторы імёнаў у ААП у PHP

Няхай цяпер у нас ёсць больш складаная сітуацыя: для адміна трэба зрабіць два класы Page - адзін з дадзенымі старонкі, а другі - з прадстаўленнем гэтых дадзеных. Няхай першы клас знаходзіцца ў файле /admin/data/page.php, а другі - у файле /admin/view/page.php.

У папярэдніх уроках мы ўжо вырашылі, што ўсе класы з папкі admin будуць адносіцца да прасторы імёнаў Admin. Аднак, цяпер у гэтай самай прасторы ў нас канфлікт двух класаў. Для вырашэння праблемы можна зрабіць дадатковыя падпрасторы імёнаў. Напрыклад, можна зрабіць прастору імёнаў Admin, а ў ёй падпрасторы Data і View. У такім выпадку імёны гэтых падпрастор проста запісваюцца праз адваротны слэш - як пры заданні прасторы імёнаў, так і пры стварэнні аб'екта класа.

Тут варта ўдакладніць, што ўзровень укладзенасці падпрастор не абмежаваны (можна ствараць пад падпрасторы ў падпрасторах і гэтак далей).

Такім чынам, давайце дарабім наш апісаны вышэй прыклад. Для класа Page з файла /admin/data/page.php укажам прастору імёнаў Admin\Data:

<?php namespace Admin\Data; class Page { } ?>

Для класа Page з файла /admin/view/page.php укажам прастору імёнаў Admin\View:

<?php namespace Admin\View; class Page { } ?>

Стварым аб'екты нашых класаў:

<?php require_once '/admin/data/page.php'; require_once '/admin/view/page.php'; $adminDataPage = new \Admin\Data\Page; $adminViewPage = new \Admin\View\Page; ?>

Няхай у вас ёсць папка modules/cart. Зрабіце так, каб усе класы з гэтай папкі адносіліся да прасторы імёнаў Modules\Cart.

Няхай у вас ёсць папка modules/shop/cart/. Зрабіце так, каб усе класы з гэтай папкі адносіліся да прасторы імёнаў Modules\Shop\Cart.

azbydeenesfrkakkptruuz