PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်ကုဒ်ကိုပြန်လည်အသုံးပြုရန်အခြားဖိုင်များကိုမိတ်ဆက်ပေးရန်လိုအပ်သည်။ ဤသည် ကို များသောအားဖြင့် အသုံးပြု သည်, လိုအပ်ချက်များ , သို့သော်စီမံကိန်းတည်ဆောက်ပုံသည်ရှုပ်ထွေးပြီးဖိုင်အဆင့်များသည်မြင့်မားသည်နှင့်ဖိုင်များသည်အထူးသဖြင့်အရေးကြီးသည်။ Pather ၏ပြောင်းလွယ်ပြင်လွယ်ခြင်းနှင့်ကြံ့ခိုင်မှုတိုးတက်စေရန်အတွက် Get_includude_Path () နှင့် Dirname () function များကိုအတူတကွအသုံးပြုနိုင်ရန်နှင့်ဖိုင်၏အထက်လမ်းညွှန်ကိုရှာဖွေရန်နှင့်သတ်မှတ်ရန်အတူတကွအသုံးပြုနိုင်သည်။ ဤဆောင်းပါးသည်လမ်းကြောင်းပါ 0 င်သည့်အထက်လမ်းညွှန်ကိုရရှိရန်နှင့်၎င်းကိုတကယ့်စီမံကိန်းတစ်ခုသို့လျှောက်ထားရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့ထိရောက်စွာအသုံးပြုရမည်ကိုရှင်းပြပါမည်။
Get_intude_Path () သည် current_path setting ကိုရရှိသော built-in function တစ်ခုဖြစ်သည်။ ထည့်သွင်းထားသော 0 င်းဖာဖ်သည် PHP မှအသုံးပြုသောဖိုင်များကိုရှာဖွေရန်အသုံးပြုသောဖိုင်များကိုရှာဖွေရန်အတွက်အသုံးပြုသောဖိုင်များကိုရှာဖွေခြင်းစနစ်၏ Path Separator (Semicolon) - "Linux နှင့် semicolon" တွင် "။
echo get_include_path();
output သည်ဤကဲ့သို့သောလမ်းကြောင်းဖြစ်နိုင်သည်။
.:/usr/local/lib/php
ဆိုလိုသည်မှာ PHP သည်လက်ရှိ directory ("။ ") ဖိုင်ကို ဦး စွာရှာဖွေလိမ့်မည်ဟုဆိုလိုသည် ။
Dirname () သည် ပေးထားသောလမ်းကြောင်း၏မိဘလမ်းညွှန်ကိုပြန်ပို့သောအခြား built-in function ကိုဖြစ်သည်။
echo dirname('/var/www/html/index.php'); // ထုတ်လုပ်ခြင်း: /var/www/html
ဤလုပ်ဆောင်ချက်သည်အထက်တန်းလွှာများကိုကိုယ်စားပြုသောအလွှာအရေအတွက်ကိုကိုယ်စားပြုရန်ဒုတိယ parameter ဖြင့်အသုံးပြုနိုင်သည်။
echo dirname('/var/www/html/index.php', 2); // ထုတ်လုပ်ခြင်း: /var/www
၎င်းသည်ကျွန်ုပ်တို့အားမိဘလမ်းညွှန်များကိုမည်သည့်အဆင့်တွင်မဆိုအလွန်ပြောင်းလွယ်ပြင်လွယ်ရှိရန်ခွင့်ပြုသည်။
Current_includude_Path () မှတဆင့်လမ်းကြောင်းကိုကျွန်ုပ်တို့ရနိုင်ပြီးပြောင်းလွယ်ပြင်လွယ်သွားသောလမ်းကြောင်းစီမံခန့်ခွဲမှုရရှိရန်အတွက် 4 င်း၏လမ်းညွှန်ကိုရယူရန် Dirname () ကိုပေါင်းစပ်နိုင်သည်။ ဥပမာအားဖြင့်, အချို့သော autoloading ယန္တရားများတွင်ကျွန်ုပ်တို့သည် configuration file file ဖိုင်သို့မဟုတ်အတန်းစာကြည့်တိုက်ဖိုင်များနေထိုင်သောအထက်ပါလမ်းညွှန်ကိုအလိုအလျောက်ရှာဖွေလိုပေမည်။
<?php
// လက်ရှိတစ်ခုရယူပါ include_path ပထမ ဦး ဆုံးလမ်းညွှန်
$paths = explode(PATH_SEPARATOR, get_include_path());
$firstPath = $paths[0];
// ဒီလမ်းကြောင်းရဲ့အထက်လမ်းညွှန်ကိုရယူပါ
$parentDir = dirname($firstPath);
// ထုတ်လုပ်ခြင်း结果
echo "အထက်လမ်းညွှန်ဖြစ်ပါတယ်: " . $parentDir;
?>
ဤကုဒ် သည် ပထမဆုံးအကြိမ်ခွဲဝေမှုတစ်ခုစီကိုခင်းကျင်း။ ပထမလမ်းကြောင်းကိုအသုံးပြုသည်။ ဤအသုံးပြုမှုသည် configuration files များ, အရင်းအမြစ်လမ်းညွှန်များသို့မဟုတ် application directory များသို့မဟုတ် application directory များကိုရှာဖွေသောအခါဤအသုံးပြုမှုသည်အထူးသဖြင့်အသုံးဝင်သည်။
အမှန်တကယ်စီမံကိန်းများအနေဖြင့် application ၏ရင်းမြစ်မှဖိုင်များကိုရှာဖွေရန် Autoloader အတွက် Autoloader အတွက်ကျွန်ုပ်တို့သည်အခြေခံ path variable တစ်ခုကိုသတ်မှတ်နိုင်သည်။
<?php
$baseDir = dirname(get_include_path(), 1);
// autoloader ကိုသတ်မှတ်ပါ
spl_autoload_register(function ($className) use ($baseDir) {
$filePath = $baseDir . '/classes/' . $className . '.php';
if (file_exists($filePath)) {
require_once $filePath;
}
});
?>
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်ခက်ခဲသောလမ်းကြောင်းများကိုရှောင်ရှားရန်စီမံကိန်း root directory မှအစပြုရန် Project Directory မှစတင်သော Unified Logic ကိုအကောင်အထည်ဖော်နိုင်သည်။
ကျွန်ုပ်တို့တွင်အောက်ပါစီမံကိန်းတည်ဆောက်ပုံရှိသည်ဆိုပါစို့။
/var/www/html/
│
├── index.php
├── config/
│ └── app.php
├── classes/
│ └── User.php
ကျွန်ုပ်တို့သည် Classes / user.php ဖိုင်ကို index.php မှရည်ညွှန်းသည့်အခါကျွန်ုပ်တို့သည်အောက်ပါကုဒ်ကိုပြောင်းလွယ်ပြင်လွယ်စေရန်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
<?php
set_include_path('/var/www/html');
require_once dirname(get_include_path()) . '/classes/User.php';
ဤဥပမာသည် Set_includude_Path () နှင့် Dirname () ကို ပေါင်းစပ်ခြင်းဖြင့်မျှော်လင့်ထားသည့်လမ်းညွှန်ကိုမည်သို့လျင်မြန်စွာရှာရမည်ကိုပြသသည်။
ဤဆောင်းပါး၏နိဒါန်းအားဖြင့် Get_includude_Path () နှင့် Dirname () ပေါင်းစပ်မှုပေါင်းစပ်ခြင်းကကျွန်ုပ်တို့ကိုလျင်မြန်စွာကူညီနိုင်ပြီးစီမံကိန်း၏မည်သည့်အဆင့်တွင်မဆိုသာလွန်သော directory များကိုလျင်မြန်စွာရယူနိုင်ရန်ကျွန်ုပ်တို့ကိုလျင်မြန်စွာရှာဖွေနိုင်ကြောင်းကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။ ဤနည်းလမ်းသည် hard-coded လမ်းကြောင်းများ၏ပြ problem နာကိုသိသိသာသာလျှော့ချပေးပြီး code ၏သယ်ယူပို့ဆောင်ရေးနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်စေသည်။ ရှုပ်ထွေးသော PHP applications များသို့မဟုတ်မူဘောင်များတည်ဆောက်ရာတွင်၎င်းတို့ကိုလမ်းကြောင်းစီမံခန့်ခွဲမှုအတွက်စံလေ့ကျင့်ခန်းများအဖြစ်အသုံးပြုရန်အကြံပြုပါသည်။
တစ်ချိန်တည်းမှာပင် Path Patherning ၏လုံခြုံရေးနှင့်သဟဇာတဖြစ်စေရန်သေချာစေရန်အတွက်ပရိုဂရမ်စစ်ဆင်ရေးအပေါ် မူတည်. လမ်းကြောင်းအမှားများကိုရှောင်ရှားရန် realitath () , file_exists () နှင့်အခြားလုပ်ဆောင်ချက်များကိုအမြဲတမ်းပူးပေါင်းဆောင်ရွက်ရန်အကြံပြုသည်။
ပိုမိုအားကောင်းသည့်စီမံကိန်းတည်ဆောက်မှုတည်ဆောက်ရန် PHP ၏ဤ PHP ၏ဇာတိကိရိယာများကိုကောင်းစွာအသုံးပြုကြပါစို့။