Синтаксиси фазоҳои номҳо дар ООП дар PHP

Барои муайян кардани фазои номи барои як синф, бояд дар сатри аввали файл, ки ин синф дар он нигоҳ дошта мешавад, фармон namespace-ро нависед, ва баъд аз он бо як фосила - номи ин фазои номро.

Агар синф ба ягон фазои ном тааллуқ дошта бошад, пас барои эҷоди объекти синф бояд на танҳо номи синфро, балки фазои номи онро низ зикр кард, ки бо слэши баръакс ҷудо карда шудаанд. Биёед ба мисол назар кунем.

Фарз кунем, ки мо синфи Page-ро дорем, ки ба ягон фазои ном тааллуқ надорад. Онгоҳ объекти ин синфро мо ба тариқи зерин эҷод мекунем:

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

Акнун фарз кунем, ки ин синф ба фазои номи Admin тааллуқ дорад. Дар ин ҳолат объекти ин синфро мо ҳамин тавр эҷод мекунем:

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

Биёед синфҳоро барои корбарон ва синфҳоро барои администраторҳо ба фазоҳои номи гуногун ҷудо кунем, то аз конфликтҳои синфҳои дар боло тавсифшуда раҳо шавем.

Барои синфи Page аз файли /admin/page.php фазои номи Admin-ро муайян кунем:

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

Ва барои синфи Page аз файли /users/page.php фазои номи 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 объектҳои як ва синфи дигарро эҷод кунед.