Vipande vya Majina katika OOP katika PHP

Hebu sasa tuwe na hali ngumu zaidi: kwa admin inahitajika kutengeneza madarasa mawili Page - moja na data ya ukurasa, na ya pili - na muonekano wa data hii. Hebu darasa la kwanla liwe katika faili /admin/data/page.php, na la pili - katika faili /admin/view/page.php.

Katika masomo yaliyopita tayari tumetatua, kwamba madarasa yote kutoka kwa folda admin yatahusika na nafasi ya majina Admin. Hata hivyo, sasa katika hii nafsi ya majina tuna mzozo wa madarasa mawili. Ili kutatua tatizo unaweza kutengeneza ziada ya vipande vya majina. Kwa mfano, unaweza kutengeneza nafasi ya majina Admin, na ndani yake vipande Data na View. Katika kesi hiyo majina ya vipande hivi huandikwa tu kupitia mkato wa nyuma - wakati wa kuweka nafasi ya majina na wakati wa kuunda kitu cha darasa.

Hapa inafaa kufafanua, kwamba kiwango cha kuingizwa kwa vipande hakuwa na kikomo (unaweza kuunda vipande ndani ya vipande na kadhalika).

Basi, hebu tumalize mfano wetu ulioelezewa hapo juu . Kwa darasa Page kutoka faili /admin/data/page.php tuonyeshe nafasi ya majina Admin\Data:

/admin/data/page.php<?php
  namespace Admin\Data;
  
  class Page
  {
    
  }
?>

Kwa darasa Page kutoka faili /admin/view/page.php tuonyeshe nafasi ya majina Admin\View:

/admin/view/page.php<?php
  namespace Admin\View;
  
  class Page
  {
    
  }
?>

Tuweke vitu vya madarasa yetu:

/index.php<?php
  require_once '/admin/data/page.php';
  require_once '/admin/view/page.php';
  
  $adminDataPage = new \Admin\Data\Page;
  $adminViewPage = new \Admin\View\Page;
?>
Задание 1

Hebu uwe na folda modules/cart. Fanya ili madarasa yote kutoka kwa folda hii yahusike na nafasi ya majina Modules\Cart.

Задание 2

Hebu uwe na folda modules/shop/cart/. Fanya ili madarasa yote kutoka kwa folda hii yahusike na nafasi ya majina Modules\Shop\Cart.