PHP ရှိ OOP တွင် Namespace Syntax

Class တစ်ခုကို namespace သတ်မှတ်ရန်၊ ထို class ကို သိမ်းဆည်းထားသည့် ဖိုင်တွင် ပထမဆုံးစာကြောင်းအဖြစ် namespace command ကို ရေးရပါမည်၊ ထို့နောက် ၎င်း၏နာမည်ကို အာက်ပါအတိုင်း ရေးပါ။

Class သည် namespace တစ်ခုခုနှင့် သက်ဆိုင်ပါက၊ class object ဖန်တီးရန် class ၏အမည်တစ်ခုတည်းသာမက ၎င်း၏ namespace ကိုပါ backslash ဖြင့် ခွဲခြားပြီး ဖော်ပြရပါမည်။ ဥပမာတစ်ခုကြည့်ကြစို့။

ကျွန်ုပ်တို့တွင် Page class ရှိသည်ဆိုပါစို့၊ ၎င်းသည် မည်သည့် namespace နှင့်မှ မသက်ဆိုင်ပါ။ ထိုအခါ ဤ class ၏ object ကို အောက်ပါအတိုင်း ဖန်တီးပါမည်။

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

ယခု ဤ class သည် Admin namespace နှင့် သက်ဆိုင်သည်ဆိုပါစို့။ ဤအခြေအနေတွင် ဤ class ၏ object ကို အောက်ပါအတိုင်း ဖန်တီးပါမည်။

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

အထက်ဖော်ပြပါ class များကြား ပဋိပက္ခကို ရှောင်ရှားရန် user များအတွက် class များနှင့် admin များအတွက် class များကို namespace အမျိုးမျိုးအဖြစ် ခွဲခြားကြပါစို့။

ဖိုင် /admin/page.php မှ Page class အတွက် Admin namespace ကို သတ်မှတ်ပါမည်။

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

ဖိုင် /users/page.php မှ Page class အတွက် Users namespace ကို သတ်မှတ်ပါမည်။

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

ယခု ဖိုင် /index.php တွင် Page class နှစ်ခုစလုံး၏ object ကို ဖန်တီးကြပါစို့။

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

သင့်တွင် core folder နှင့် project folder ရှိသည်ဆိုပါစို့။

Folder တစ်ခုစီတွင် ၎င်း၏ကိုယ်ပိုင် Controller class ရှိသည်။ ထို class များသည် namespace အမျိုးမျိုးနှင့် သက်ဆိုင်စေရန် ပြုလုပ်ပါ။ ဖိုင် index.php တွင် class နှစ်ခုစလုံး၏ object များကို ဖန်တီးပါ။