PHP OOP හි නම් අවකාශ උපක්ෂේත්‍ර

දැන් අපට වඩාත් සංකීර්ණ තත්වයක් ඇති බව සිතමු: පරිපාලකයා සඳහා පන්ති දෙකක් Page සාදා ගත යුතුය - එකක් පිටු දත්ත සමඟ, දෙවැන්න - නිරූපණය සමඟ මෙම දත්ත. පළමු පන්තිය පිහිටා ඇතැයි සිතමු ගොනුවෙහි /admin/data/page.php, සහ දෙවැන්න - ගොනුවේ /admin/view/page.php.

පෙර පාඩම් වලදී අපි දැනටමත් තීරණය කර ඇත්තේ ෆෝල්ඩරයේ ඇති සියලුම පන්ති admin නම් අවකාශයට අයත් වනු ඇත Admin. කෙසේ වෙතත්, දැන් මෙම ම නම් අවකාශය තුළ අපට පන්ති දෙකක් අතර ගැටුමක් ඇත. ගැටළුව විසඳීම සඳහා අතිරේක නම් අවකාශ උපක්ෂේත්‍ර සෑදිය හැක. උදාහරණයක් ලෙස, සෑදිය හැකිය නම් අවකාශය Admin, සහ එහි උපක්ෂේත්‍ර Data සහ View. මෙම අවස්ථාවේ දී මෙම උපක්ෂේත්‍රවල නම් සරලව ලියා ඇත පසුපස ආනත රේඛාව හරහා - නම් අවකාශයක් නියම කිරීමේදී නම්, මෙන්ම පන්තියක වස්තුවක් නිර්මාණය කිරීමේදී.

මෙහිදී, ස්ථරයේ සෘජු ගැඹුර පැහැදිලි කළ යුතුය උපක්ෂේත්‍ර සීමා නොකෙරේ (සෑදිය හැකිය උපක්ෂේත්‍ර තුළ උපක්ෂේත්‍ර සහ එසේ යනාදිය).

ඉතින්, අපි ඉහත විස්තර කළ දේ සම්පූර්ණ කරමු උදාහරණය. පන්තිය සඳහා Page ගොනුවෙන් /admin/data/page.php නම් අවකාශය සඳහන් කරන්න Admin\Data:

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

ගොනුවෙන් Page පන්තිය සඳහා /admin/view/page.php නම් අවකාශය සඳහන් කරන්න Admin\View:

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

අපගේ පන්තිවල වස්තු සාදා ගනිමු:

/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

ඔබට ෆෝල්ඩරය modules/cart ඇතැයි සිතමු. මෙම ෆෝල්ඩරයේ ඇති සියලුම පන්ති වන පරිදි කරන්න නම් අවකාශයට අයත් විය Modules\Cart.

Задание 2

ඔබට ෆෝල්ඩරය modules/shop/cart/ ඇතැයි සිතමු. මෙම ෆෝල්ඩරයේ ඇති සියලුම පන්ති වන පරිදි කරන්න නම් අවකාශයට අයත් විය Modules\Shop\Cart.