PHP applications များကိုတီထွင်သည့်အခါကျွန်ုပ်တို့သည် Configuration Files, Class Libles သို့မဟုတ် template files စသည့်ပြင်ပဖိုင်များပါ 0 င်ရန်လိုအပ်သည်။ Code ၏ထိန်းသိမ်းနိုင်မှုနှင့်သယ်ဆောင်နိုင်ခြင်းနှင့်သယ်ဆောင်နိုင်မှုကိုတိုးတက်စေရန်အထူးသဖြင့်ပြင်ဆင်ရန်အတွက်အထူးအရေးကြီးသည်။ Get_includude_path () နှင့် set_include_path () သည် PHP မှပေးသောအင်အားကြီးသောကိရိယာနှစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုများကို အသုံးပြု. ကွဲပြားခြားနားသော operating systems များရှိလမ်းကြောင်းများအပေါ်လမ်းကြောင်းများ၌လမ်းကြောင်းများပြင်ဆင်ရန်ပြောင်းလဲခြင်းကိုမိတ်ဆက်ပေးလိမ့်မည်။
Continue_path သည် PHP တွင် configuration item တစ်ခုဖြစ်သည်။ ၎င်းသည် ခွဲခြမ်းစိတ်ဖြာခြင်း , ကျိုးကြောင်းဆီလျော်စွာထည့်သွင်းခြင်းအားဖြင့်လမ်းကြောင်း, coded rollute လမ်းကြောင်းများကိုရှောင်ရှားနိုင်သည်။
default php.ini မှတဆင့်လမ်းကြောင်းကိုသင်သတ်မှတ်နိုင်သည်သို့မဟုတ် Get_includude_path () နှင့် set_include_intude_intude_intude_intude_Atpathe_pathe_path () ကို သင်၏ code တွင်သုံးနိုင်သည်။
ကွဲပြားခြားနားသော operating systems သည်လမ်းကြောင်းခွဲခြမ်းစိတ်ဖြာခြင်း၏အဓိပ္ပာယ်ကွဲပြားမှုရှိသည်။
0 င်းဒိုး များတွင်လမ်းကြောင်းများကို semicolons ဖြင့်ခွဲထားသည် ။
Unix ကဲ့သို့သောစနစ်များ (ထိုကဲ့သို့သော Linux, Macos ကဲ့သို့) တွင်လမ်းကြောင်းများကို colons ဖြင့်ခွဲထားသည် ( :) ။
ထို့ကြောင့် Cross-Platform ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်မှန်ကန်သောခွဲခြမ်းစိတ်ဖြာမှုကိုပုံမှန်အသုံးပြုရန်လိုအပ်သည်။ PHP သည်လည်ပတ်နေသောပတ်ဝန်းကျင်နှင့်အညီမှန်ကန်သော separator ကိုပြန်ပို့နိုင်သည့်စဉ်ဆက်မပြတ် path_separator ကို ထောက်ပံ့ပေးသည်။
echo PATH_SEPARATOR;
// Windows ထုတ်လုပ်ခြင်း: ;
// Linux/macOS ထုတ်လုပ်ခြင်း: :
Get_include_Path () နှင့် set_intude_path ကို အသုံးပြု. ဖိုင်များကိုမည်သို့သတ်မှတ်မည်ကိုပြသခြင်းဥပမာတစ်ခုမှာဥပမာတစ်ခုပါရှိသည်။
ကျွန်ုပ်တို့တွင်အောက်ပါ directory ဖွဲ့စည်းပုံရှိသည်ဆိုပါစို့။
/project
│
├── lib/
│ └── MyLibrary.php
└── app/
└── main.php
ကျွန်ုပ်တို့သည် မောင် / Mylibrary.php ဖိုင်ကို Main.php တွင်ထည့်သွင်းလိုပါသည်။
<?php
// 1. လက်ရှိတစ်ခုရယူပါ include path
$currentIncludePath = get_include_path();
// 2. လမ်းကြောင်းအသစ်တစ်ခုတည်ဆောက်ပါ
$projectRoot = dirname(__DIR__); // ယူဆချက် main.php တည်နေ app လမ်းညွှန်၌တည်၏
$libPath = $projectRoot . '/lib';
// 3. အသုံးပြု PATH_SEPARATOR အသစ် splicing include path
$newIncludePath = $libPath . PATH_SEPARATOR . $currentIncludePath;
// 4. အသစ်တစ်ခုကို set up include path
set_include_path($newIncludePath);
// 5. ဖိုင်များပါဝင်သည်
require_once 'MyLibrary.php';
?>
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်ခိုင်မာသော coded လမ်းကြောင်းများကိုရှောင်ရှားပြီးလမ်းကြောင်းခွဲခြမ်းစိတ်ဖြာမှုများကိုမည်သည့် operating system တွင်မှန်ကန်စွာဖော်ထုတ်နိုင်ကြောင်းသေချာစေသည်။
stream_resolve_intude_patherude_path () သည် လက်တွေ့ကျကျလုပ်ဆောင်နိုင်မှုရှိ,
$file = 'MyLibrary.php';
if ($fullPath = stream_resolve_include_path($file)) {
require_once $fullPath;
} else {
die("စာချုပ်စာတမ်း $file မတွေ့ပါ。");
}
၎င်းသည်လမ်းကြောင်းအမှားများကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုကာကွယ်ပေးသည်။
ကျွန်ုပ်တို့သည် configuration file ကိုဝေးလံခေါင်သီသောဆာဗာမှ ( https://gitbox.net/resoUcesources/config.php ) မှ 0 န်ဆောင်မှုပေးသည်ဆိုပါစို့။
<?php
$isLocal = file_exists('/path/to/local/config.php');
if ($isLocal) {
set_include_path('/path/to/local' . PATH_SEPARATOR . get_include_path());
require_once 'config.php';
} else {
include 'https://gitbox.net/resources/config.php';
}
?>
သတိပြုသင့်သည်မှာ URLs များကိုမိတ်ဆက်ပေးခြင်း၏လုပ်ဆောင်ချက်တွင်ထုတ်လုပ်မှုပတ် 0 န်း ကျင် တွင်ပိတ်ထားသည့် ခွင့်ပြုခွင့်ကိုခွင့်ပြုသည့် ခွင့်ပြုချက်ပေါ်တွင်မူတည်သည်။
Get_includude_Path () , set_includude_path () နှင့် Path_separator ကို ကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အမျိုးမျိုးသော operating system များနှင့်သဟဇာတဖြစ်သောလမ်းကြောင်းစီမံခန့်ခွဲမှုများကိုသဟဇာတရရှိနိုင်သည်။ ၎င်းသည်ကုဒ်၏သယ်ဆောင်နိုင်မှုကိုတိုးတက်စေရုံသာမကအနာဂတ်ပြုပြင်ထိန်းသိမ်းမှုနှင့်တိုးချဲ့ခြင်းအတွက်အုတ်မြစ်ချသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်စီမံကိန်းတစ်ခုလုံး၏ယုတ္တိတန်၏ 0 တ်ဆိုသည့်ဖိုင်ကိုမှတ်တမ်းတင်ရန်လမ်းကြောင်းပြင်ဆင်မှုကိုဗဟိုမှစီမံခန့်ခွဲရန်အကြံပြုသည်။