PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်မှားယွင်းသောအမှားများကိုမကြာခဏကြုံတွေ့ရလေ့ရှိပြီး "သတ်မှတ်ထားသော namespace မတွေ့ပါ" အမှားသည်ပိုမိုများပြားသည်။ ဤပြ problem နာအမျိုးအစားသည်များသောအားဖြင့်ကုဒ်နံပါတ် (သို့) namespace ၏မတည်ရှိမှုသည်ကုဒ်နံပါတ်သို့မဟုတ်မမှန်ကန်သောနိဒါန်းလမ်းကြောင်းကိုရည်ညွှန်းသည်။ ဤဆောင်းပါးသည်ဤအမှား၏အကြောင်းရင်းများကိုမိတ်ဆက်ပေးပြီးသတ်သတ်မှတ်မှတ်ဖြေရှင်းနည်းများပေးလိမ့်မည်။
ဤတွင် "သတ်မှတ်ထားသော namespace မတွေ့ပါ" အမှားတစ်ခုနှင့်အတူရိုးရှင်းသော PHP ကုဒ်နမူနာတစ်ခု -
<?php namespace App; use UtilHelper; class MyClass { public function doSomething() { // အသုံးပြုHelperအတန်းအစားနည်းလမ်းများ Helper::doSomething(); } } ?>
အထက်ဖော်ပြပါကုဒ်များတွင် MyCespace app တွင် Helper ဟုခေါ်သောအတန်းအစားကိုမိတ်ဆက်ပေးရန်နှင့် MyCespace ရှိ DOSOMATE Method တွင်အကူအညီတောင်းခံလွှာကိုခေါ်ဆိုရန်ကြိုးစားသည်။
သို့သော်ဤကုဒ်ကိုကျွန်ုပ်တို့ဖွင့်သောအခါအောက်ပါအမှားအယွင်းများကိုကျွန်ုပ်တို့ကြုံတွေ့ရနိုင်သည်။
Fatal Error: uncraff အမှား - အတန်းအစား '' Utilheler 'တွင်မတွေ့ပါ။
ဤအမှားက PHP သည် PHP သည် Utilhelper အမည်ရှိအတန်းကိုရှာမတွေ့နိုင်ကြောင်းဖော်ပြသည်။ ဒီတော့ဒီပြ problem နာကိုဘယ်လိုဖြေရှင်းရမလဲ။
ပထမ ဦး စွာမိတ်ဆက်ပေးသောလူတန်းစားသို့မဟုတ် namespace တည်ရှိကြောင်းသေချာစေရန်လိုအပ်သည်။ အထက်ပါဥပမာတွင် Utilhelper အတန်းသည်တည်ရှိပြီးလမ်းကြောင်းမှန်ပေါ်ဖြစ်ကြောင်းသေချာအောင်ပြုလုပ်ရန်လိုအပ်သည်။ အကယ်. အတန်းသည်အခြားဖိုင်တစ်ခုတွင်ရှိပါကထိုဖိုင်ကိုမှန်ကန်စွာမိတ်ဆက်ရန်လိုအပ်သည်။
Util / Helper ကို file usil / helper 0 ံ၌တည်ရှိသော Help / Helpp တွင်တည်ရှိသည်ဟုယူဆသည်။ MyClass အတန်းမတိုင်မီသင့်တော်သောသွင်းကုန်ထုတ်ပြန်ချက်များကိုကျွန်ုပ်တို့ထည့်နိုင်သည်။
<?php namespace App; // မိတ်ဆက်ခဲ့သည်Helperအမျိုးအစား require_once 'Util/Helper.php'; use UtilHelper; class MyClass { public function doSomething() { // အသုံးပြုHelperအတန်းအစားနည်းလမ်းများ Helper::doSomething(); } } ?>
ဤပြင်ဆင်ထားသောဥပမာတွင်ကျွန်ုပ်တို့သည် Helpier အတန်းအစားတည်ရှိရာဖိုင်ကိုမိတ်ဆက်ပေးရန်အတွက် `` `` `` `` `` `` `once` ၏ကြေညာချက်ကိုအသုံးပြုခဲ့သည်။
Class ဖိုင်၏တည်ရှိမှုကိုအတည်ပြုခြင်းအပြင်စီမံကိန်း၏လမ်းညွှန်ဖွဲ့စည်းတည်ဆောက်ပုံနှင့်အတူ Namespace သည်အသေးစိတ်ကိုသေချာစေရန်လိုအပ်သည်။ ဥပမာအားဖြင့်စီမံကိန်း၏လမ်းညွှန်ဖွဲ့စည်းပုံမှာအောက်ပါအတိုင်းဖြစ်သည်ဆိုပါစို့။
- အက်ပလီကေးရှင်း - Util - Helper.php - MyClass.php
ဤကိစ္စတွင် MyChPP ၏ Namespace သည် `namespace app;` နှင့် Helper ၏ namespace ပါ 0 င်သော namespace `` `` `` `` `` `` `` `` `` `apputil;` namespace apputil; လမ်းညွှန်ဖွဲ့စည်းပုံသည် namespace နှင့်ကိုက်ညီကြောင်းသေချာစေရန်လမ်းကြောင်းနှင့် namespace များအကြားမတိုက်ဆိုင်မှုကိုရှောင်ရှားနိုင်သည်။
"သတ်မှတ်ထားသော namespace မတွေ့ပါ" အမှားကိုဖြေရှင်းရန်သော့ချက်သည်အဓိကသော့ချက်မှာမိတ်ဆက်ထားသော class file ရှိရန်သေချာစေရန်လမ်းကြောင်းသည်မှန်ကန်ပြီးလမ်းကြောင်းမှန်ပေါ်တည်ဆောက်ပုံနှင့်ကိုက်ညီသည်။ ဤအဆင့်များကိုလိုက်နာခြင်းဤအမှားကိုထိရောက်စွာရှောင်ရှားနိုင်ပြီး PHP လျှောက်လွှာသည်ချောချောမွေ့မွေ့လည်ပတ်နိုင်ကြောင်းသေချာစေသည်။