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

သတ်မှတ်ထားသော () နှင့်စဉ်ဆက်မပြတ် function ကိုပေါင်းစပ်အသုံးပြုမှု

gitbox 2025-05-28

PHP တွင်ကိန်းဂဏန်းများသည် script ူမန်မိာိုံင်ငံနေဖြင့် ပြောင်းလဲ. မရပါ။ သတ်မှတ်ခြင်းကိန်းသားများကိုပုံမှန်အားဖြင့် သတ်မှတ်ခြင်း () function ကိုအသုံးပြုသည်။ စဉ်ဆက်မပြတ်တည်ရှိပြီး runtime တွင်၎င်း၏တန်ဖိုးကိုပြောင်းလဲခြင်းရှိမရှိဆုံးဖြတ်သည့်အခါ () နှင့် စဉ်ဆက်မပြတ် () ကို အသုံးပြုသောလုပ်ဆောင်ချက်နှစ်ခုကိုအသုံးပြုသည်။ ဤဆောင်းပါးသည်အတိမ်အနက်ကိုဤလုပ်ဆောင်မှုနှစ်ခုကိုမည်သို့အသုံးပြုရမည်နှင့်ပြောင်းလွယ်ပြင်လွယ်လည်ပတ်နိုင်ရန်၎င်းတို့ကိုမည်သို့ပေါင်းစပ်ရမည်ကိုမိတ်ဆက်ပေးပါမည်။

1 ။ အခြေခံသဘောတရားများ

  • သတ်မှတ်ထားသော (string $ name): Bool
    တစ် ဦး စဉ်ဆက်မပြတ် $ အမည်ကို သတ်မှတ်ထားရှိမရှိဆုံးဖြတ်သည်။ boolean value ကိုပြန်ပို့သည်။

  • စဉ်ဆက်မပြတ် (string $ name): ရောထွေး
    စဉ်ဆက်မပြတ် $ အမည်၏ တန်ဖိုးကိုပြန်ပို့သည်။ အကယ်. စဉ်ဆက်မပြတ် underfined လျှင်အမှားတစ်ခုပစ်ချလိမ့်မည်။

ဤလုပ်ဆောင်ချက်နှစ်ခုသည် dynamic အဆက်မပြတ်အမည်များကိုအထူးသဖြင့်ပြုပြင်ပြောင်းလဲမှု, plug-in တင်ခြင်း,

2 ။ Consinants ကိုသတ်မှတ်ရန်သမားရိုးကျနည်းလမ်း

အမြဲတမ်းသတ်မှတ်ရန် သတ်မှတ်ခြင်း () ကို သုံးပါ။

 define('APP_ENV', 'production');

ထို့နောက်၎င်း၏တန်ဖိုးကို app_env စဉ်ဆက်မပြတ်မှတဆင့်တိုက်ရိုက်ရည်ညွှန်းနိုင်သည်။

3. စဉ်ဆက်မပြတ်တည်ရှိရှိမရှိစစ်ဆေးရန်သတ်မှတ်ထားသော () ကိုအသုံးပြုပါ

အချို့ဖြစ်ရပ်များတွင် configuration files များ (သို့) ပြင်ပစနစ်များမှလာနိုင်သည်။ ၎င်းတို့ကိုအသုံးမပြုမီသတ်မှတ်ထားခြင်းရှိမရှိစစ်ဆေးနိုင်သည်။

 if (defined('APP_ENV')) {
    echo 'လက်ရှိပတ်ဝန်းကျင်ဖြစ်ပါတယ်: ' . APP_ENV;
} else {
    echo 'undefined ပတ်ဝန်းကျင်ကော်ပိုရေးရှင်း';
}

4 ။ စဉ်ဆက်မပြတ်တန်ဖိုးကို dynamant () ကိုသုံးပါ

အကယ်. သင်သည် variable များမှတဆင့်စဉ်ဆက်မပြတ်အမည်များကိုရည်ညွှန်းလိုပါက စဉ်ဆက်မပြတ် () ကို သုံးရန်လိုအပ်သည်။

 $constName = 'APP_ENV';

if (defined($constName)) {
    echo 'လက်ရှိပတ်ဝန်းကျင်ဖြစ်ပါတယ်: ' . constant($constName);
}

ဤနည်းလမ်းကိုမကြာခဏအစိတ်အပိုင်းများကို confention configuration သို့မဟုတ် plug-in ယန္တရားများတွင်မကြာခဏအသုံးပြုသည်။

 $plugin = 'Uploader';
$constName = 'PLUGIN_' . strtoupper($plugin) . '_ENABLED';

if (defined($constName) && constant($constName) === true) {
    echo "ပလပ်အင် {$plugin} enabled";
}

5 ။ ပူးတွဲအသုံးပြုမှုအခြေအနေများဥပမာ

1 ။ configuration loading

သတ်မှတ်ထားသောပတ် 0 န်းကျင်နှင့်အညီ configuration ကို dynamuration ကို dynamuration ကို dynamuration ကိုပြောင်းလဲစေသော Multiaticative configuration file တစ်ခုရှိသည်ဆိုပါစို့။

 define('APP_ENV', 'development');

$configName = 'CONFIG_' . strtoupper(APP_ENV) . '_DB';

define('CONFIG_DEVELOPMENT_DB', 'mysql://user:[email protected]/devdb');
define('CONFIG_PRODUCTION_DB', 'mysql://user:[email protected]/proddb');

if (defined($configName)) {
    $dbConfig = constant($configName);
    echo "ဒေတာဘေ့စ်ဆက်သွယ်မှုသတင်းအချက်အလက်:$dbConfig";
}

2 ။ ပြောင်းလဲခွင့်ပြုချက်ထိန်းချုပ်မှု

သငျသညျခွင့်ပြုချက်အရေအတွက်စီးရီးကိုသတ်မှတ်: ဆိုပါစို့:

 define('PERM_USER_EDIT', true);
define('PERM_USER_DELETE', false);

ခွင့်ပြုချက်ကိုဆုံးဖြတ်ရန် သတ်မှတ်ထားသော () နှင့် စဉ်ဆက်မပြတ် () ကို ပေါင်းစပ်ရန် function ကိုသုံးနိုင်သည်။

 function hasPermission(string $perm): bool {
    $permConst = 'PERM_' . strtoupper($perm);
    return defined($permConst) && constant($permConst) === true;
}

if (hasPermission('user_edit')) {
    echo 'အသုံးပြုသူများကိုတည်းဖြတ်ရန်ခွင့်ပြုချက်ရှိသည်';
}

6 ။ မှတ်စုဖို့အရာ

  1. စဉ်ဆက်မပြတ် nextant အမည် () တစ် ဦး string ကိုဖြစ်ရမည်။ အကယ်. စဉ်ဆက်မပြတ်မတည်ရှိပါက သတိပေးချက်ကို ပစ်ချလိမ့်မည်။

  2. သတ်မှတ်ထားသော () ကို အသုံးပြုခြင်းကိုအသုံးပြုခြင်းသည် undefined conteStants ကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုလုံခြုံစွာတားဆီးနိုင်သည်။

  3. စဉ်ဆက်မပြတ်အမည်များသည်စာလုံးအကြီးအသေးအရေး ကြီးဖြစ်စေသည်

7 ။ အကျဉ်းချုပ်

သတ်မှတ်ထားသော () နှင့် စဉ်ဆက်မပြတ် () စဉ်ဆက်မပြတ် () သည် dynamic constants ကိုကိုင်တွယ်ရန်အစွမ်းထက်သောကိရိယာများဖြစ်ပြီးအထူးသဖြင့် dynamic configuration loading, plug-in စနစ်များ, Plug-in စနစ်များ, ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအသုံးပြုခြင်းသည်သင့် PHP အစီအစဉ်ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်,