လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> တတိယပါတီစာကြည့်တိုက်များ၏အလိုအလျောက်တင်ရန် Get_include_Path () ကိုမည်သို့အသုံးပြုရမည်နည်း

တတိယပါတီစာကြည့်တိုက်များ၏အလိုအလျောက်တင်ရန် Get_include_Path () ကိုမည်သို့အသုံးပြုရမည်နည်း

gitbox 2025-05-21

PHP စီမံကိန်းများတွင်တတိယပါတီစာကြည့်တိုက်များကိုမိတ်ဆက်ပေးရန်လိုအပ်ကြောင်းကျွန်ုပ်တို့မကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ရိုးရာချဉ်းကပ်နည်းသည်စာကြည့်တိုက်ဖိုင်များကိုကိုယ်တိုင်ကိုယ်ကျ မိတ်ဆက် ပေးရန်ဖြစ်သည် , သို့သော်စီမံကိန်း၏ရှုပ်ထွေးမှုတိုးပွားလာသည်နှင့်အမျှတတိယပါတီစာကြည့်တိုက်များသို့လမ်းကြောင်းကိုစီမံခန့်ခွဲခြင်းသည် ပို. ခက်ခဲလာသည်။ ဤဆောင်းပါးသည် Php Built-in functions get_include_path () နှင့် set_include_path () နှင့် set_include_path () နှင့် set_include_path () နှင့် set_include_path () နှင့် set_include_path ()) ကို မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ နောက်ခံပြ issues နာများ

သင့်တွင် third-party libraries အမျိုးမျိုးကွဲပြားခြားနားသောလမ်းညွှန်များနှင့်ကွဲပြားခြားနားသော directory များကွဲပြားနေပြီးစာဖြင့်ပြုလုပ်ထားသော စည်းမျဉ်းစည်းကမ်းများ ရေးသားခြင်းသာမကအမှားအယွင်းများကိုကိုယ်တိုင်လည်းကျရောက်စေနိုင်သည်ဆိုပါစို့။ အကောင်းဆုံးနည်းလမ်းမှာ PHP တွင် Third-party library လမ်းညွှန်ကို PHP တွင်ပါ 0 ရန် ,

2 ။ get_include_path () နှင့် set_includude_path () ကိုနိဒါန်း

  • Get_includude_PATH () - လက်ရှိ PHP ၏လမ်းကြောင်းကိုရယူပါ (system separator များဖြင့်ခွဲထားသည့်လမ်းကြောင်းများစွာကိုခွဲခြားထားသည့်လမ်းကြောင်းများ, Linux / Unix ) သည်အူမကြီးဖြစ်သည်

  • Set_includude_Path ($ Path) - Overwrite လုပ်နိုင်သောသို့မဟုတ်ဖြည့်စွက်နိုင်သောလမ်းကြောင်းကိုထည့်ပါ။

သဘောပေါက်ဘို့အကြံဥာဏ်များ

  1. တတိယပါတီစာကြည့်တိုက်၏ directory ကိုထည့်သွင်းပါ။

  2. အလိုအလျောက် loading function ကိုမှတ်ပုံတင်ပါ။ အသုံးပြုမှု တွင် class files များကိုရှာဖွေရန်လမ်းကြောင်းပါ 0 င်ပါ။

  3. လက်စွဲနိဒါန်းကိုရှောင်ရှားရန် Spl_Autoload_register () ကိုအလိုအလျောက်ခေါ်ဆိုပါ။

4 ။ ကုဒ်သင်္ကေတ

 <?php
// တတိယပါတီစာကြည့်တိုက်ကို Project Root Directory တွင်ထားရှိသည်ဟုယူဆပါvendorမာတိကာ
$vendorPath = __DIR__ . '/vendor';

// 1. လက်ရှိတစ်ခုရယူပါinclude_path
$currentIncludePath = get_include_path();

// 2. ထုပ်ပိုးvendorမာတိကာ追加到include_path,ယခင်လမ်းကြောင်းမပြောင်းလဲစောင့်ရှောက်လော့
set_include_path($currentIncludePath . PATH_SEPARATOR . $vendorPath);

// 3. Automatic Loading function ကိုမှတ်ပုံတင်ပါ
spl_autoload_register(function ($className) {
    // Class File Naming နှင့် Namespace စည်းမျဉ်းစည်းကမ်းများဟုယူဆပါ PSR-4 ထုံးနည်း
    $file = str_replace('\\', DIRECTORY_SEPARATOR, $className) . '.php';
    
    // အသုံးပြုincludeဖိုင်များကိုရှာပါ,includeအပေါ်အခြေခံလိမ့်မည်include_pathရှာဖေှခြင်း
    @include $file;
});

// စမ်းသပ်မှု:တတိယပါတီစာကြည့်တိုက်နှင့်အတူအတန်းတစ်ခုရှိသည်ဆိုပါစို့ ThirdParty\Utils တည်နေ vendor/ThirdParty/Utils.php
use ThirdParty\Utils;

$utils = new Utils();
$utils->doSomething();

V. ရှင်းပြချက်

  • တတိယပါတီစာကြည့်တိုက်လမ်းညွှန်များစီမံခန့်ခွဲမှုကိုလွယ်ကူချောမွေ့စေရန် set_include_path () မှတဆင့် dynamically လမ်းကြောင်းကိုပြောင်းလဲပါ။

  • spl_autoload_register () သည် အတန်းကိုအလိုအလျောက်ဖွင့်သည်,

  • တတိယပါတီစာကြည့်တိုက်အပြောင်းအလဲများ၏ directory သို့မဟုတ်ဖွဲ့စည်းပုံသည် code များစွာကိုပြုပြင်မွမ်းမံခြင်းမရှိဘဲထည့်သွင်းရန်လမ်းကြောင်းကိုချိန်ညှိရန်သာလိုအပ်သည်။

  • ဤနည်းလမ်းသည်ကောင်းမွန်သောလိုက်ဖက်ညီမှုရှိပြီးတေးရေးဆရာကိုအားမမူတည်ပါ။ သို့သော်စီမံကိန်းသည်များစွာအပေါ်မူတည်ပါက,

6 ။ အမှန်တကယ် applications များတွင် URL အစားထိုးခြင်း၏ဥပမာ

တတိယပါတီစာကြည့်တိုက်များကိုမိတ်ဆက်သောအခါ, စာကြည့်တိုက်ရှိကုဒ်သို့မဟုတ် configuration file (API လိပ်စာများ, အရင်းအမြစ်လင့်များကဲ့သို့သော url access) တွင် url access (ဥပမာ name) ကို Code ကို Code ကိုအစားထိုးနိုင်ပါ။

ဥပမာ -

 <?php
function replaceDomainInUrl(string $url): string {
    $parsed = parse_url($url);
    if (!$parsed || !isset($parsed['host'])) {
        return $url;
    }
    // အဖြစ်ဒိုမိန်းအမည်ကိုအစားထိုးလိုက်ပါ gitbox.net
    $newUrl = str_replace($parsed['host'], 'gitbox.net', $url);
    return $newUrl;
}

// အသုံးပြု示例
$originalUrl = 'https://example.com/api/data';
$newUrl = replaceDomainInUrl($originalUrl);
echo $newUrl; // ထုတ်လုပ်ခြင်း https://gitbox.net/api/data

ဤနည်းအားဖြင့်၎င်းအားအလိုအလျောက်တင်ဆောင်ခြင်းနှင့်ကြော့ရှင်းခြင်းများကိုစီမံခန့်ခွဲခြင်းသာမကတတိယပါတီစာကြည့်တိုက်များတွင်ပါ 0 င်သော URLs များကိုပြန်လည်နေရာချထားခြင်းများကိုလွယ်ကူချောမွေ့စေသည်။