PHP ရှိ OOP တွင် Namespace Syntax
Class တစ်ခုကို namespace သတ်မှတ်ရန်၊ ထို class ကို သိမ်းဆည်းထားသည့်
ဖိုင်တွင် ပထမဆုံးစာကြောင်းအဖြစ် namespace command ကို ရေးရပါမည်၊
ထို့နောက် ၎င်း၏နာမည်ကို အာက်ပါအတိုင်း ရေးပါ။
Class သည် namespace တစ်ခုခုနှင့် သက်ဆိုင်ပါက၊ class object ဖန်တီးရန် class ၏အမည်တစ်ခုတည်းသာမက ၎င်း၏ namespace ကိုပါ backslash ဖြင့် ခွဲခြားပြီး ဖော်ပြရပါမည်။ ဥပမာတစ်ခုကြည့်ကြစို့။
ကျွန်ုပ်တို့တွင် Page class ရှိသည်ဆိုပါစို့၊ ၎င်းသည် မည်သည့် namespace
နှင့်မှ မသက်ဆိုင်ပါ။ ထိုအခါ ဤ class ၏ object ကို အောက်ပါအတိုင်း ဖန်တီးပါမည်။
<?php
$page = new Page;
?>
ယခု ဤ class သည် Admin namespace နှင့် သက်ဆိုင်သည်ဆိုပါစို့။
ဤအခြေအနေတွင် ဤ class ၏ object ကို အောက်ပါအတိုင်း ဖန်တီးပါမည်။
<?php
$page = new \Admin\Page;
?>
အထက်ဖော်ပြပါ class များကြား ပဋိပက္ခကို ရှောင်ရှားရန် user များအတွက် class များနှင့် admin များအတွက် class များကို namespace အမျိုးမျိုးအဖြစ် ခွဲခြားကြပါစို့။
ဖိုင် /admin/page.php မှ Page class အတွက် Admin
namespace ကို သတ်မှတ်ပါမည်။
<?php
namespace Admin;
class Page
{
}
?>
ဖိုင် /users/page.php မှ Page class အတွက် Users namespace ကို
သတ်မှတ်ပါမည်။
<?php
namespace Users;
class Page
{
}
?>
ယခု ဖိုင် /index.php တွင် Page class နှစ်ခုစလုံး၏ object ကို
ဖန်တီးကြပါစို့။
<?php
require_once '/admin/page.php';
require_once '/users/page.php';
$adminPage = new \Admin\Page;
$usersPage = new \Users\Page;
?>
သင့်တွင် core folder နှင့် project folder ရှိသည်ဆိုပါစို့။
Folder တစ်ခုစီတွင် ၎င်း၏ကိုယ်ပိုင် Controller class ရှိသည်။
ထို class များသည် namespace အမျိုးမျိုးနှင့် သက်ဆိုင်စေရန် ပြုလုပ်ပါ။
ဖိုင် index.php တွင် class နှစ်ခုစလုံး၏ object များကို ဖန်တီးပါ။