PHP හි OOP හි නාමාවකාශ වාක්ය ඛණ්ඩය

වර්ගයකට නාමාවකාශයක් පැවරීමට, එම වර්ගය ගබඩා කර ඇති ගොනුවේ පළමු පේළියේ namespace යන විධානය ලිවිය යුතුය, ඊට පසුව හිස්තැනකින් - එම නාමාවකාශයේ නම.

වර්ගයක් යම් නාමාවකාශයකට අයත් වේ නම්, වර්ගයේ වස්තුවක් නිර්මාණය කිරීම සඳහා වර්ගයේ නම පමණක් නොව, එහි නාමාවකාශය ද, පසුපස ඇල ඉරකින් වෙන් කර, නිර්දේශ කිරීමට සිදුවේ. අපි උදාහරණයක් බලමු.

අප සතුව Page වර්ගයක් ඇති අතර, එය ඕනෑම නාමාවකාශයකට අයත් නොවේ යැයි සිතමු. එවිට මෙම වර්ගයේ වස්තුව අපි පහත පරිදි නිර්මාණය කරමු:

index.php<?php
  $page = new Page;
?>

දැන් මෙම වර්ගය Admin නාමාවකාශයට අයත් යැයි සිතමු. මෙම අවස්ථාවේ දී, මෙම වර්ගයේ වස්තුව අපි දැන් මෙලෙස නිර්මාණය කරමු:

index.php<?php
  $page = new \Admin\Page;
?>

පෙර විස්තර කර ඇති වර්ග ගැටුම් වළක්වා ගැනීම සඳහා, පරිශීලකයින් සඳහා වන වර්ග සහ පරිපාලකයින් සඳහා වන වර්ග විවිධ නාමාවකාශවලට වෙන් කරමු.

/admin/page.php ගොනුවෙන් Page වර්ගය සඳහා Admin නාමාවකාශය නිර්දේශ කරමු:

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

/users/page.php ගොනුවෙන් Page වර්ගය සඳහා Users නාමාවකාශය නිර්දේශ කරමු:

/users/page.php<?php
  namespace Users;
  
  class Page
  {
    
  }
?>

දැන් අපි /index.php ගොනුවේ Page වර්ග දෙකේම වස්තු නිර්මාණය කරමු:

index.php<?php
  require_once '/admin/page.php';
  require_once '/users/page.php';
  
  $adminPage = new \Admin\Page;
  $usersPage = new \Users\Page;
?>
Задание 1

ඔබ සතුව core ෆෝල්ඩරය සහ project ෆෝල්ඩරය ඇතැයි සිතමු. ෆෝල්ඩර එක් එක් තුළ තමන්ගේම Controller වර්ගයක් ඇත. මෙම වර්ග විවිධ නාමාවකාශවලට අයත් වන පරිදි සකසන්න. index.php ගොනුවේ වර්ග දෙකේම වස්තු නිර්මාණය කරන්න.