PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် PHPP တွင်စီမံခြင်းသည်လမ်းကြောင်းများနှင့်အရေးကြီးသောလိုအပ်ချက်ဖြစ်သည်။ စနစ်တကျ configuring တွင်လမ်းကြောင်းများပါ 0 င်သည်။ Get_includude_Path () function သည်လက်ရှိပါ 0 င်သောလမ်းကြောင်းအချက်အလက်များရရှိနိုင်သည်။ ၎င်းကို Custom functions များနှင့် တွဲဖက်. အသုံးပြုသည်။
ဤဆောင်းပါးသည် custom functions များတွင် Get_includude_Path () ကို မည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။
Get_include_PATH () သည် Php built-in function တစ်ခုဖြစ်ပြီးလက်ရှိလမ်းကြောင်းပြင်ဆင်မှုတွင်ပါ 0 င်သည်။ ပါ 0 င်သည့်လမ်းကြောင်းသည် Executing နှင့်အခြားထုတ်ပြန်ချက်များ တွင် PHP ၏ directory list ကိုရှာဖွေသည်ကိုဆုံးဖြတ်သည်။
ဥပမာအားဖြင့်:
<?php
echo get_include_path();
?>
ပုံမှန်အားဖြင့်၎င်းသည်တစ်ခုခုကိုပြန်ပို့နိုင်သည်။
.:/usr/local/lib/php
လက်ရှိလမ်းညွှန်နှင့် / USR / Loc / Lib / Php တို့သည်ရှာဖွေရေးလမ်းကြောင်းများဖြစ်ကြောင်းဖော်ပြသည်။
ကြီးမားသောစီမံကိန်းများတွင်ပါ 0 င်သည့်လမ်းကြောင်းများနှင့်ပတ် 0 န်းကျင်များအရ,
ထုံးစံလုပ်ဆောင်ချက်များကိုမှတစ်ဆင့်သင်လုပ်နိုင်သည် -
လက်ရှိပါ 0 င်သောလမ်းကြောင်းကိုခေတ္တရယူပြီးလမ်းကြောင်းချုပ်
dynamically add သို့မဟုတ် restore လမ်းကြောင်းများပါဝင်သည်
လွယ်ကူသောပြုပြင်ထိန်းသိမ်းမှုအတွက်လမ်းကြောင်းစီမံခန့်ခွဲမှု Encapsulation ကိုအကောင်အထည်ဖော်ပါ
အောက်ပါဥပမာသည် Get_includude_Path () နှင့် set_include_pathe_pathe_pathe_pathe_path () ကို အသုံးပြု. အသစ်သောလမ်းညွှန်ချက်ကိုမည်သို့ပြောင်းလဲနိုင်မည်ကိုပြသသည်။
<?php
/**
* dynamically ပါ 0 င်မှုလမ်းကြောင်းများထည့်ပါ,ဖိုင်ကိုတင်ပြီးနောက်မူရင်းလမ်းကြောင်းကိုပြန်ယူပါ
*
* @param string $newPath အသစ်ပါဝင်သည်လမ်းညွှန်
* @param string $file ထည့်သွင်းရန်ဖိုင်အမည်
* @return void
*/
function includeWithCustomPath(string $newPath, string $file): void {
// ပထမ ဦး ဆုံးပါ 0 င်သည့်လမ်းကြောင်းကိုသိမ်းဆည်းပါ
$originalPath = get_include_path();
// အသစ်သောလမ်းကြောင်းပါဝင်သည်,လက်ရှိလမ်းကြောင်းဖြည့်စွက်,လမ်းကြောင်းများအကြားသုံးပါ PATH_SEPARATOR ခဲှခြားခြင်း
$updatedPath = $newPath . PATH_SEPARATOR . $originalPath;
// 设置အသစ်သောလမ်းကြောင်းပါဝင်သည်
set_include_path($updatedPath);
// ဖိုင်များအပါအဝင်ကြိုးစားပါ
include $file;
// မူရင်းပါဝင်သောလမ်းကြောင်းကိုပြန်ယူပါ,နောက်ဆက်တွဲကုဒ်များကိုထိခိုက်ခြင်းကိုရှောင်ပါ
set_include_path($originalPath);
}
// အသုံးပြုမှုဥပမာ:
// သင့်တွင်စာကြည့်တိုက်ဖိုင်တစ်ခုရှိသည်ဆိုပါစို့ /var/www/libs/ မာတိကာ
includeWithCustomPath('/var/www/libs', 'myLib.php');
?>
ဤလုပ်ဆောင်မှုတွင် Get_includude_Path () သည် လက်ရှိလမ်းကြောင်းကိုရရှိသည်။ လမ်းညွှန်အသစ်ကိုယာယီကပ်ပြီး set_includude_path () နှင့် ထား. ၎င်းကို ထည့်သွင်း ပါ။ ၎င်းသည်မတူညီသောလမ်းကြောင်းများအောက်တွင်ဖိုင်များကိုပြောင်းလွယ်ပြင်လွယ်ရှိရန်ခွင့်ပြုရန်သာမကမူရင်းလမ်းကြောင်းကိုမထိခိုက်ကြောင်းကိုလည်းသေချာစေသည်။
သင်၏ကုဒ်သည် URLs များ (ဝေးလံခေါင်သီသော scripts စသဖြင့် ) ဖိုင်များအပါအ 0 င်ဖိုင်များပါ 0 င် သည် ။
ဥပမာ -
<?php
function replaceDomainInUrl(string $url, string $newDomain = 'gitbox.net'): string {
$parsed = parse_url($url);
if (!$parsed) {
return $url; // အားမရှိသောURL,မူရင်းတန်ဖိုးကိုပြန်သွားပါ
}
// ပြန်လည်နေရာချhostဒါဟာဒိုမိန်းအမည်အသစ်ဖြစ်ပါတယ်
$parsed['host'] = $newDomain;
// ပြန်လည်ဖွဲ့စည်းခြင်းURL
$newUrl = (isset($parsed['scheme']) ? $parsed['scheme'] . '://' : '') .
$parsed['host'] .
(isset($parsed['path']) ? $parsed['path'] : '') .
(isset($parsed['query']) ? '?' . $parsed['query'] : '') .
(isset($parsed['fragment']) ? '#' . $parsed['fragment'] : '');
return $newUrl;
}
// နမူနာခေါ်ဆိုမှု
$url = 'https://example.com/path/to/file.php?param=1';
$newUrl = replaceDomainInUrl($url);
echo $newUrl; // ထုတ်လုပ်ခြင်း https://gitbox.net/path/to/file.php?param=1
?>
ထည့်သွင်းထားသော Path စီမံခန့်ခွဲမှုနှင့်အတူပေါင်းစပ်ထားသော, ဖိုင်တင်ခြင်းလမ်းကြောင်းသို့မဟုတ်ဝေးလံခေါင်သီသော URL ကိုသင်ပြောင်းလဲနိုင်သည်။
Get_includude_path () သည် သင့်တွင်လက်ရှိပါ 0 င်သောလမ်းကြောင်းကိုဖတ်ရန်ကူညီနိုင်သည်။
set_includude_path () နှင့်ပေါင်းစပ်။ သင်၏ထုံးစံ function တွင်ထည့်သွင်းထားသောလမ်းကြောင်းကိုယာယီပြုပြင်နိုင်ပြီးမတူညီသောလမ်းညွှန်များတွင် dynamally load လုပ်နိုင်သည်။
လုပ်ငန်းဆောင်တာများကို encapsulating လုပ်ခြင်းဖြင့်ကမ္ဘာလုံးဆိုင်ရာပြုပြင်မွမ်းမံခြင်း၏ဘေးထွက်ဆိုးကျိုးများကိုရှောင်ရှားနိုင်ပြီး Code Security နှင့်ပြောင်းလွယ်ပြင်လွယ်တိုးတက်လာနိုင်သည်။
အကယ်. URL စစ်ဆင်ရေးတွင်ပါ 0 င်ပါက Parse_URL () နှင့် domain name ကိုအစားထိုးပါ။
ဤဆောင်းပါးသည် Php ပါ 0 င်မှုလမ်းကြောင်းများကိုပိုမိုကောင်းမွန်စွာစီမံခန့်ခွဲနိုင်အောင်ကူညီနိုင်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။