Get_Defined_constants () သည် PHP ၏ built-in function တစ်ခုဖြစ်ပြီးလက်ရှိ script ပေါ်တွင်သတ်မှတ်ထားသောကိန်းဂဏန်းများအားလုံးကိုတပ်ဆင်ရန် PHP ၏လုပ်ဆောင်ချက်ဖြစ်သည်။ function တစ်ခု၏ပြန်လာတန်ဖိုးသည် connant ၏အမည်၏အမည်ဖြစ်ပြီးတန်ဖိုးသည်စဉ်ဆက်မပြတ်၏တန်ဖိုးဖြစ်သည်။
$array = get_defined_constants();
print_r($array);
အထက်ပါကုဒ်သည်သတ်မှတ်ထားသောကိန်းနှင့်၎င်းတို့၏သက်ဆိုင်ရာတန်ဖိုးများကိုလက်ရှိပတ်ဝန်းကျင်တွင်ဖော်ပြလိမ့်မည်။
အချို့သောအခြေအနေများတွင်အထူးသဖြင့်ကြီးမားသောစီမံကိန်းများတွင်ပရိုဂရမ်များ၏စတင်အမိန့်သည်အလွန်အရေးကြီးသည်။ ကော်ပိုရေးရှင်းများ၏စတင်အမိန့်အစီအစဉ်၏ကွပ်မျက်ယုတ္တိဗေဒကိုအကျိုးသက်ရောက်နိုင်သည်။ ဥပမာအားဖြင့် configuration files များကိုဖွင့်လှစ်ခြင်း, ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုစတင်ခြင်း, database connection များကိုစတင်ခြင်းပြုလုပ်သောအခါ, ၎င်းကိုအောင်မြင်ရန် Get_Defined_constants () function ကို Customant Initialization ၏အမိန့်ကိုစောင့်ကြည့်ရန်စိတ်ကြိုက်သစ်ထုတ်လုပ်ရေးယန္တရားနှင့်ပေါင်းစပ်နိုင်သည်။
SCRESS ၏ကွဲပြားခြားနားသောနေရာများတွင် Get_Defined_constants () function ကိုခေါ်ဆိုခြင်းဖြင့်လက်ရှိသတ်မှတ်ထားသောကိန်းဂဏန်းများကိုရယူပြီးကိန်းသားများ၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုမှတ်တမ်းတင်နိုင်သည်။ လက်ရှိရရှိသောစဉ်ဆက်မပြတ်နှင့်နောက်ဆုံးရရှိသောစဉ်ဆက်မပြတ်စာရင်းများအကြားခြားနားချက်ကိုနှိုင်းယှဉ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အသစ်သောသတ်မှတ်ထားသောစဉ်ဆက်မပြတ်မှတ်တမ်းတင်နိုင်သည်။
ဤတွင်အကောင်အထည်ဖော်မှုဥပမာတစ်ခုဖြစ်သည်။
<?php
// စဉ်ဆက်မပြတ်စတင်ရန်အမိန့်တွင်မှတ်တမ်းဖိုင်ကိုသိမ်းဆည်းပါ
$logFile = 'constant_init_log.txt';
// လက်ရှိသတ်မှတ်ထားသောစဉ်ဆက်မပြတ်ရယူပါ
$previousConstants = get_defined_constants();
// စဉ်ဆက်မပြတ်ကန ဦး လုပ်ငန်းစဉ်ကိုတုပ
define('SITE_URL', 'https://m66.net');
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
// လက်ရှိသတ်မှတ်ထားသောစဉ်ဆက်မပြတ်ရယူပါ
$currentConstants = get_defined_constants();
// ကွဲပြားခြားနားမှုများ၏နှိုင်းယှဉ်,အသစ်စက်စက်သတ်မှတ်ထားသောကိန်းစုကိုမှတ်တမ်းတင်
$newConstants = array_diff_key($currentConstants, $previousConstants);
// မှတ်တမ်းဖိုင်ကိုဖွင့ ်. အသစ်သောစဉ်ဆက်မပြတ်မှတ်တမ်းတင်ပါ
$logData = '';
foreach ($newConstants as $constant => $value) {
$logData .= "New constant defined: {$constant} = {$value}\n";
}
file_put_contents($logFile, $logData, FILE_APPEND);
echo "Constant initialization sequence has been logged.";
?>
အထက်ပါကုဒ်များတွင်ကျွန်ုပ်တို့သည်လက်ရှိသတ်မှတ်ထားသောသတ်မှတ်ထားသောကိန်းစာရင်းကိုပထမဆုံးအကြိမ်သိမ်းဆည်းပြီးစဉ်ဆက်မပြတ် definition ဖြစ်စဉ်ကိုတုပပါ။ ထို့နောက်အသစ်သောဆက်နွယ်မှုများကို array_diff_key () function မှတဆင့်ရှာဖွေပါ။ နောက်ဆုံးတွင်ဤကိန်းဂဏန်းများ၏အချက်အလက်များကို log file သို့ရေးပါ။ စဉ်ဆက်မပြတ်စတင်တိုင်းအချိန်တိုင်းတွင်မှတ်တမ်းဖိုင်သည်အသစ်သတ်မှတ်ထားသောစဉ်ဆက်မပြတ်နှင့်၎င်း၏တန်ဖိုးကိုမှတ်တမ်းတင်ထားသည်။
ပိုမိုရှုပ်ထွေးသော application တစ်ခုအတွက်ဒေတာဘေ့စ်နှင့်ဆက်နွယ်မှုကိုစတင်ရန်အမိန့်များကိုလည်းကျွန်ုပ်တို့မှတ်တမ်းတင်နိုင်သည်။ ဤနည်းအားဖြင့်ပြောင်းလွယ်ပြင်လွယ်သောစုံစမ်းမှုနှင့်စီမံခန့်ခွဲမှုအောင်မြင်နိုင်သည်။ ဤနေရာတွင်ဒေတာဘေ့စ်သို့စဉ်ဆက်မပြတ်စတင်ရန်အမိန့်ကိုသစ်ထုတ်လုပ်ခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။
<?php
// ဒေတာဘေ့စ် connection configuration ကို
$host = 'localhost';
$dbname = 'php_constants';
$username = 'root';
$password = '';
// ဖန်တီးPDOဆက်
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Database connection failed: " . $e->getMessage());
}
// ဖန်တီး表(ဒါမတည်ရှိပါက)
$query = "CREATE TABLE IF NOT EXISTS constant_log (
id INT AUTO_INCREMENT PRIMARY KEY,
constant_name VARCHAR(255) NOT NULL,
constant_value TEXT NOT NULL,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";
$pdo->exec($query);
// လက်ရှိသတ်မှတ်ထားသောစဉ်ဆက်မပြတ်ရယူပါ
$previousConstants = get_defined_constants();
// စဉ်ဆက်မပြတ်ကန ဦး လုပ်ငန်းစဉ်ကိုတုပ
define('SITE_URL', 'https://m66.net');
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
// လက်ရှိသတ်မှတ်ထားသောစဉ်ဆက်မပြတ်ရယူပါ
$currentConstants = get_defined_constants();
// ကွဲပြားခြားနားမှုများ၏နှိုင်းယှဉ်,အသစ်စက်စက်သတ်မှတ်ထားသောကိန်းစုကိုမှတ်တမ်းတင်
$newConstants = array_diff_key($currentConstants, $previousConstants);
// အသစ်သောသတင်းအချက်အလက်အသစ်ကိုဒေတာဘေ့စ်သို့ထည့်ပါ
foreach ($newConstants as $constant => $value) {
$stmt = $pdo->prepare("INSERT INTO constant_log (constant_name, constant_value) VALUES (:name, :value)");
$stmt->bindParam(':name', $constant);
$stmt->bindParam(':value', $value);
$stmt->execute();
}
echo "Constant initialization sequence has been recorded to the database.";
?>
ဤဥပမာတွင် PODDO မှတစ်ဆင့် MySQL ဒေတာဘေ့စ်နှင့်ဆက်သွယ်ပြီးစဉ်ဆက်မပြတ်စတင်ရန်အမိန့်ကိုမှတ်တမ်းတင်ရန်ဒေတာဘေ့စ်တွင်စားပွဲတစ်ခုဖန်တီးသည်။ စဉ်ဆက်မပြတ်အစကိုအစပျိုးသည့်အခါတိုင်းကျွန်ုပ်တို့သည်အဆက်မပြတ်အမည်နှင့်သက်ဆိုင်ရာတန်ဖိုးကိုနောက်ဆက်တွဲမေးမြန်းချက်များနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်ဒေတာဘေ့စ်စားပွဲသို့ထည့်သွင်းထားသည်။
PHP ၏ Get_Defined_constants () function ကိုမြှင့်တင်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် log file တစ်ခုတွင်မှတ်တမ်းတင်ခြင်းသို့မဟုတ်အချက်အလက်များကိုရှာဖွေခြင်းကိုပိုမိုနားလည်နိုင်သည်ဖြစ်စေ, ရှုပ်ထွေးသောစီမံကိန်းများအတွက်စဉ်ဆက်မပြတ် Initialization ၏အမိန့်ကိုဆင်ခြင်ခြင်းသည် debugging နှင့် optimization ၏ထိရောက်မှုကိုပိုမိုကောင်းမွန်စေသည်။ သို့သော်ဖွံ့ဖြိုးတိုးတက်ရေးအဖွဲ့သည်စနစ်၏တည်ငြိမ်မှုနှင့်ကိုက်ညီမှုကိုသေချာစေသည်။