စာသင်ကြားမှုများမရှိဘဲအတန်းအမည်များကိုမည်သို့ရယူရမည်ကိုမ 0 င်မီ,
Namespaces သည် PHP 5.3 တွင်အင်္ဂါရပ်အသစ်တစ်ခုဖြစ်သည်။ Developer များသည်အထူးသဖြင့်ကြီးမားသောအသုံးချပရိုဂရမ်များကိုတီထွင်သောအခါ,
PHP တွင် Namespace ကိုသော့ချက်စာလုံး Namespace ကို အသုံးပြု. သတ်မှတ်သည်။ Namespace မှတစ်ဆင့်ပရိုဂရမ်အတွက် namespace ကိုသတ်မှတ်နိုင်သည်။ တိကျတဲ့ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
namespace my_namespace;
အောက်တွင်ဖော်ပြထားသောအတိုင်းအမည်စာရင်းများကိုလည်းဖိုင်တစ်ခုတည်းတွင်လည်းသတ်မှတ်နိုင်သည်။
namespace my_namespace1;
namespace my_namespace2;
အကယ်. အတန်းကို namespace တစ်ခုတွင်သတ်မှတ်ထားပါကအတန်းကိုရည်ညွှန်းရန်အတန်းအပြည့်အဝအမည်လမ်းကြောင်းကိုအသုံးပြုရန်လိုအပ်သည်။
new my_namespace\MyClass();
အတန်းများကိုရည်ညွှန်းကိုးကားရန်လွယ်ကူစေရန် အသုံးပြုမှု သော့ချက်စာလုံးကိုသုံးပါ။
use my_namespace\MyClass;
$obj = new MyClass();
တခါတရံမှာ Namespace မရှိရင်အတန်းအစားနာမည်တစ်ခုရဖို့လိုတယ်။ ဤကိစ္စတွင်, သင်ကရရန် PHP built-in function class_basename () ကိုသုံးနိုင်သည်။
Class_Basename () function သည် namespace မရှိသော class name ၏အစိတ်အပိုင်းတစ်ခုနှင့်အတူ namespace နှင့်အတူထုတ်ယူနိုင်သည်။
$className = class_basename('App\Http\Controllers\Controller');
// $classNameတန်ဖိုး'Controller'
သတိပြုသင့်သည်မှာ class_basename () သည် အတန်းအမည်များအတွက်သာသင့်လျော်သည်။ အကယ်. Namespace မရှိပဲအတန်းအစားအမည်ကိုရရန်လိုအပ်ပါကအတန်းအစားတည်ရှိသည်ကိုအတည်ပြုရန် Class_exists () function ကိုအသုံးပြုရန်အကြံပြုသည်။ ထို့နောက် class_basename () ကို သုံးပါ။
Namespace မပါဘဲအတန်းအစားအမည်များကိုရရန်နောက်တစ်နည်းမှာ Get_Class () function ကိုအသုံးပြုရန်ဖြစ်သည်။
$obj = new MyClass();
$className = get_class($obj);
// $classNameတန်ဖိုး'MyClass'
Get_Class () ကို အသုံးပြုသောအခါ, သင်သည်အတန်းအစားအမည်နှင့်အတန်းမဟုတ်ဘဲအတန်းတစ်ခု၏အရာဝတ်ထုတစ်ခုကိုဖြတ်သန်းရန်လိုအပ်သည်။ ဤနည်းလမ်းသည်လူတန်းစားအမည်များကို namespace မပါဘဲသာသင့်လျော်သည်။
ဤဆောင်းပါးသည်အမည်စာရင်းများ၏အခြေခံသဘောတရားများနှင့် PHP တွင်မည်ကဲ့သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးသည်။ Namespaces မှအတန်းအမည်များကိုရယူရန်အတွက်ဘုံနည်းလမ်းနှစ်ခုကိုအသေးစိတ်ရှင်းပြထားပါသည်။ Class_Basename () နှင့် Get_Class ()) ။ ဤဆောင်းပါးသည် PHP တွင် developer များနှင့် php တွင်အတန်းများနှင့်အမည်များကိုပိုမိုထိရောက်စွာစီမံနိုင်ရန်ကူညီနိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။