PHP Project Development တွင် PHP ဖိုင်များ, configuration files များသို့မဟုတ်အခြားအရင်းအမြစ်များကိုလမ်းညွှန်မျိုးစုံမှအခြားအရင်းအမြစ်များကိုတင်ရန်လိုအပ်သည်။ အထူးသဖြင့်ကြီးမားသောစီမံကိန်းများတွင် Modular Design သည်ကျွန်ုပ်တို့၏ကုဒ်ကိုမတူညီသော directory studlege များအောက်တွင်ဖြန့်ဝေရန်လှုံ့ဆော်ပေးသည်။ Code ၏ထိန်းသိမ်းနိုင်မှုနှင့်ပြောင်းလွယ်ပြင်လွယ်မှုများကိုတိုးတက်စေရန်အတွက်လမ်းကြောင်းများစွာအောက်တွင်ဖိုင်များအား အရှိန်အဟုန် မြှ င့ ်တင်ခြင်းကိုပေါင်းစပ်နိုင်ရန်အတွက်အလွန်လက်တွေ့ကျသောနည်းပညာနည်းလမ်းဖြစ်သည်။
Get_includude_PATH () function ကိုလက်ရှိပါ 0 င်သည်။ ဤလမ်းကြောင်းစာရင်းကို များသော အားဖြင့် ထည့်သွင်းရန် သို့မဟုတ်ရှာဖွေရန်ဖိုင်များ လိုအပ်ခြင်းကို ပြုလုပ်ရန်အသုံးပြုသည် ။
ဥပမာအားဖြင့်:
echo get_include_path();
// ထုတ်လုပ်ခြင်း:.:/usr/local/lib/php:/home/user/myapp/includes
The Glob () function ကိုပုံစံများကို အခြေခံ. ကိုက်ညီသောဖိုင်လမ်းကြောင်းများကိုရှာဖွေရန်အသုံးပြုသည်။ ၎င်းသည် wildcard အက္ခရာများကိုထောက်ပံ့သည်။ အသုံးအများဆုံးအသုံးပြုမှုသည်မည်သည့်ဖိုင်ကို မ ဆိုကိုယ်စားပြုရန်ဖြစ်သည်။
ဥပမာ -
$files = glob('/path/to/dir/*.php');
အထက်ဖော်ပြပါကုဒ်သည် directory / path / dir / dir / di / dir / di / di / di / di / dir / dior / dir / di / di / di / dir / di / dir / di / dir / di / dies) ရှိဖ်ဖ်ဖ်ဖ်ဖိုင်အားလုံးကိုရှာဖွေလိမ့်မည် ။
Multippathers မှကိုက်ညီသောဖိုင်များကိုအလိုအလျောက်ဖွင့်ရန်ကျွန်ုပ်တို့သည် Get_includude_Path () နှင့် Globath () နှင့် Glob () နှင့် Glob ()) ကိုပေါင်းစပ်နိုင်သည်။ ဤတွင်အပြည့်အဝနမူနာကုဒ်ဖြစ်ပါတယ်:
function loadFilesFromIncludePaths($pattern) {
$includePaths = explode(PATH_SEPARATOR, get_include_path());
foreach ($includePaths as $path) {
$fullPattern = rtrim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $pattern;
$files = glob($fullPattern);
if (!empty($files)) {
foreach ($files as $file) {
if (is_file($file)) {
require_once $file;
}
}
}
}
}
သင့်တွင်ပါ 0 င်သည်ဆိုပါစို့။
set_include_path(
'/var/www/gitbox.net/modules:' .
'/var/www/gitbox.net/plugins:' .
get_include_path()
);
ပြီးတော့သင် init.php ဖိုင်ကို directory အားလုံးတွင်တင်လိုသည်။
loadFilesFromIncludePaths('init.php');
၎င်းသည် သင် /Var/www/gitbox.net/modules နှင့် /var/www/gitbox.net/plugins များ အောက်တွင်ရှိသော Init.php အမည်ရှိဖိုင်များကိုအလိုအလျောက်ရှာဖွေပြီးဖွင့်လိမ့်မည်။
Modular Loading : module တစ်ခုစီသည် Init.php အမည်ရှိ Initialization Logic နှင့်ပါ 0 င်ပြီးစနစ်ကိုတူညီစွာတင်ထားသည်။
အနိမ့်နားချင်းဆက်နေသည် - module အသစ်သည်အဓိကတင်ထားသောယုတ္တိဗေဒကိုပြုပြင်ရန်မလိုအပ်ပါ။ ၎င်းကိုဖိုင်ကိုနေရာချရုံဖြင့်အလိုအလျောက်အသိအမှတ်ပြုနိုင်သည်။
ပြောင်းလွယ်ပြင်လွယ်ဖွဲ့စည်းမှု - ထည့်သွင်းခြင်းအားဖြင့်, သင်အလွယ်တကူ module လမ်းညွှန်အသစ်များကိုအလွယ်တကူညှိသို့မဟုတ်ထည့်နိုင်သည်။
လုံခြုံရေး - အတည်မပြုနိုင်သောသုံးစွဲသူအသုံးပြုသူများတင်ခြင်းလမ်းကြောင်းများအပါအ 0 င်ရှောင်ပါ။
စွမ်းဆောင်ရည်ထည့်သွင်းစဉ်းစားမှုများ - Glob () သည်ဖိုင်စနစ်အခြေပြုစစ်ဆင်ရေးတစ်ခုဖြစ်သည်။
Path Delimiter နှင့်လိုက်လျောညီထွေဖြစ်ခြင်း - Path_seParator နှင့် directory_separatority contains ည့်သည်များကို Cross-platform enface ပတ် 0 န်းကျင်တွင်အသုံးပြုပါ။
Get_includude_Path () ကို အသုံးပြု. PHP အစီအစဉ်များ ကို Modular Design တွင် PHP အစီအစဉ်များကိုပြောင်းလွယ်ပြင်လွယ်ခြင်းနှင့်ထိန်းသိမ်းခြင်းကိုများစွာတိုးတက်စေနိုင်သည်။ ဤနည်းလမ်းသည် plug-in စနစ်များ, module intranging and and file naming settitings များကဲ့သို့သောလမ်းကြောင်းများစွာတွင်ဖိုင်တွဲများစွာဖြင့်ပြုလုပ်ရန်လိုအပ်သည့်အခြေအနေများအတွက်အထူးသဖြင့်သင့်လျော်သည်။