Namespace သည် Namespace သော့ချက်စာလုံးနှင့်စတင်ခဲ့ပြီးအောက်ပါအတိုင်း Namespace Name တွင်ဖော်ပြထားသည်။
namespace MyNamespace;
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်မတူညီသောအတန်းများကိုကွဲပြားခြားနားသောအမည်များသို့ပို့ဆောင်နိုင်ပြီး, အဖွဲ့အစည်း၏ဖွဲ့စည်းမှုကိုတိုးတက်စေနိုင်သည့်အဖွဲ့အစည်းများကိုတိုးတက်စေနိုင်သည်။
ကျွန်ုပ်တို့တွင်စီမံကိန်းတစ်ခုရှိပြီးစီမံကိန်း၏ဖိုင်ဖွဲ့စည်းပုံမှာအောက်ပါအတိုင်းဖြစ်သည် -
- project
- src
- MyNamespace
- MyClass.php
MyClass.php တွင်ကျွန်ုပ်တို့သည် MyClass အတန်းကိုသတ်မှတ်သည်။ MyNamespace namespace နှင့်အတန်းကိုပေါင်းသင်းနိုင်ရန်အတွက် MyClass.php ဖိုင်၏အစတွင် namespace ထုတ်ပြန်ချက်ကိုအောက်ပါအတိုင်းထည့်သွင်းရန်လိုအပ်သည် -
namespace MyNamespace;
class MyClass {
// Class အကောင်အထည်ဖော်မှု
}
ဤနည်းအားဖြင့် MyClass Class သည် myNamespace namespace နှင့်သက်ဆိုင်သည်။
အခြား PHP ဖိုင်များတွင်ကျွန်ုပ်တို့သည် အသုံးပြုမှု ကြေညာချက်မှတဆင့် namespace ကိုမိတ်ဆက်ပေးပြီးဤအတန်းအစားကိုသုံးနိုင်သည်။
use MyNamespace\MyClass;
$object = new MyClass();
ကျွန်ုပ်တို့၏စီမံကိန်းလမ်းညွှန်ဖွဲ့စည်းပုံသည်အောက်ပါအတိုင်းဖြစ်သည်ဆိုပါစို့။
- project
- src
- MyNamespace
- MyClass.php
- SubNamespace
- MySubClass.php
MyClass.php တွင် MyNERMAMESS NAMSTARE အောက်ရှိ MyClass အတန်းကိုသတ်မှတ်သည်။ MySubclass.php တွင် MyNamesprace \ subsess namespace အောက်ရှိ MySubclass အတန်းကိုသတ်မှတ်သည်။
အခြား PHP ဖိုင်များတွင်ဤအတန်းနှစ်ခုကိုအောက်ပါနည်းလမ်းများဖြင့်မိတ်ဆက်ပေးနိုင်သည်။
use MyNamespace\MyClass;
use MyNamespace\SubNamespace\MySubClass;
$myClass = new MyClass();
$mySubClass = new MySubClass();
ဤနည်းအားဖြင့် PHP Code ရှိအတန်းများအကြားအဆင့်ဆင့်ဆက်နွယ်မှုကိုရှင်းရှင်းလင်းလင်းမြင်နိုင်ရုံသာမကဖိုင်စနစ်ရှိသက်ဆိုင်ရာဖိုင်များကိုတိကျစွာတွေ့နိုင်သည်။
namespare ကိုအသုံးပြုခြင်းအားဖြင့်သင်၏စီမံကိန်းကုဒ်ဖွဲ့စည်းပုံကိုရှင်းလင်းစွာပြုလုပ်နိုင်ပြီးဖွံ့ဖြိုးတိုးတက်မှုအတွက်ပရမ်းပတာကိုလျှော့ချနိုင်သည်။ သက်ဆိုင်ရာ Namespace သို့သက်ဆိုင်ရာအတန်းများနှင့်အလုပ်လုပ်တဲ့ module များကိုစုစည်းခြင်းသည်ကုဒ်အရည်အသွေးကိုတိုးတက်စေရုံသာမကဖွံ့ဖြိုးရေးအဖွဲ့သည်ပိုမိုထိရောက်စွာပူးပေါင်းပါဝင်စေသည်။
စီမံကိန်းတည်ဆောက်ပုံ -
- project
- src
- MyNamespace
- MyClass.php
- SubNamespace
- MySubClass.php
- index.php
MyClass.php ဖိုင်အကြောင်းအရာ:
<?php
namespace MyNamespace;
class MyClass {
public function sayHello() {
echo "Hello from MyClass!";
}
}
MySubclass.php ဖိုင်အကြောင်းအရာ:
<?php
namespace MyNamespace\SubNamespace;
class MySubClass {
public function sayHello() {
echo "Hello from MySubClass!";
}
}
index.php ဖိုင်၏ contents:
<?php
require_once 'src/MyNamespace/MyClass.php';
require_once 'src/MyNamespace/SubNamespace/MySubClass.php';
use MyNamespace\MyClass;
use MyNamespace\SubNamespace\MySubClass;
$myClass = new MyClass();
$myClass->sayHello();
$mySubClass = new MySubClass();
$mySubClass->sayHello();
Index.php ဖိုင်ကိုအသုံးပြုပြီးနောက် output သည်အောက်ပါအတိုင်းဖြစ်သည် -
Hello from MyClass!
Hello from MySubClass!