လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင်ဗားရှင်း၏သဟဇာတဖြစ်သော DATICE_IMMMATOMMATE function ကိုမည်သို့ဖြေရှင်းရမည်နည်း။

PHP တွင်ဗားရှင်း၏သဟဇာတဖြစ်သော DATICE_IMMMATOMMATE function ကိုမည်သို့ဖြေရှင်းရမည်နည်း။

gitbox 2025-09-20

PHP တွင် Diemb_create_immutable function ကိုအချိန်မပြောင်းလဲနိုင်သောနေ့စွဲအရာဝတ်ထုတစ်ခုကိုဖန်တီးရန်အသုံးပြုသည်။ DAIRE_CREEDE function နှင့်မတူသည်မှာ Date_create_immutable သည် dateTimeimmutable အရာဝတ်ထုကိုပြန်လည်ရောက်ရှိစေသည်။ ဤကဲ့သို့သောအရာဝတ်ထုသည်မူလအရာဝတ်ထုကိုပြောင်းလဲခြင်းမရှိဘဲပြုပြင်သည့်အခါတိုင်းအရာဝတ်ထုအသစ်တစ်ခုကိုပြန်ပို့လိမ့်မည်။ ဤမပြောင်းလဲနိုင်သောစွမ်းဆောင်ရည်သည်ကိစ္စများစွာတွင်ပိုမိုလုံခြုံ။ ကြိုတင်ခန့်မှန်းနိုင်သည့်အပြုအမူများကိုပေးနိုင်သည်။

သို့သော် Date_create_immmutable function ကိုအသုံးပြုခြင်းသည်ဗားရှင်းသဟဇာတကိစ္စများကိုတွေ့ကြုံခံစားနိုင်သည်။ အထူးသဖြင့်, နေ့စွဲ_create_immutable function ကို PHP ဗားရှင်း 5.5 နှင့်အထက်တွင်သာမိတ်ဆက်ခဲ့သည်။ ထို့ကြောင့်ဤလုပ်ဆောင်မှုကိုအသုံးပြုသောအခါ PHP ဗားရှင်းကိုဤလုပ်ဆောင်မှုမှလုံလောက်စွာထောက်ပံ့နိုင်ကြောင်းသေချာစေရန်လိုအပ်သည်။ သို့မဟုတ်ပါကအမှားတစ်ခုပစ်ချလိမ့်မည်။

1 ။ PHP ဗားရှင်းကိုစစ်ဆေးပါ

ပထမ ဦး စွာလက်ရှိ PHP ဗားရှင်းကိုစစ်ဆေးပါ။ အကယ်. PHP ဗားရှင်းသည် 5.5 ထက်ငယ်ပါက Dies_create_immutable function ကိုတိုက်ရိုက်မသုံးနိုင်ပါ။ ဤကိစ္စတွင်သင်၌ရွေးချယ်စရာများစွာရှိသည်။

PHP ဗားရှင်းကိုအဆင့်မြှင့်တင်ပါ

တိုက်ရိုက်နည်းလမ်းမှာ PHP ကို ​​date `dategree_create_immutable ကို ထောက်ပံ့သောဗားရှင်းသို့အဆင့်မြှင့်တင်ရန်ဖြစ်သည်။ command ကိုလိုက်နာခြင်းဖြင့်လက်ရှိ PHP ဗားရှင်းကိုစစ်ဆေးနိုင်သည်။

 <span><span>php -v
</span></span>

အကယ်. PHP ဗားရှင်းသည်နိမ့်ပါကသက်ဆိုင်ရာနည်းလမ်းကို အသုံးပြု. သင်၏ operating system ကိုအလိုက်အဆင့်မြှင့်တင်နိုင်သည်။ ဥပမာအားဖြင့်, Ubuntu Systems တွင် PHP ဗားရှင်းအသစ်ကိုအောက်ပါ command ဖြင့် install လုပ်နိုင်သည်။

 <span><span>sudo apt-get install php7.4
</span></span>

အဆင့်မြှင့်တင်ပြီးနောက်သင်၏ဝဘ်ဆာဗာ (apache သို့မဟုတ် nginx ကဲ့သို့သော apache or nginx) ကိုပြန်လည်စတင်ရန်သေချာစေပါ။

အခြားနည်းလမ်းများအသုံးပြုခြင်း

အကယ်. သင်သည်အချို့သောအကြောင်းပြချက်များအတွက် PHP ဗားရှင်းကိုအဆင့်မြှင့် တင်. မရပါက Date_create function ကိုအခြားရွေးချယ်စရာတစ်ခုအဖြစ်သုံးနိုင်သည် ဒီမှာနမူနာကုဒ်တစ်ခုပါ။

 <span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_create</span></span><span>(</span><span><span class="hljs-string">'2025-06-26'</span></span><span>);
</span><span><span class="hljs-variable">$dateImmutable</span></span><span> = </span><span><span class="hljs-keyword">clone</span></span><span> </span><span><span class="hljs-variable">$date</span></span><span>;  </span><span><span class="hljs-comment">// တစ် ဦး မပြောင်းလဲနိုင်သော cloningDateTimeကန့်ကွက်</span></span><span>
</span></span>

ဤနည်းအားဖြင့်သင်ဟာမပြောင်းလဲနိုင်သောအရာဝတ်ထုများ၏အပြုအမူကိုတုပနိုင်သော်လည်း dateTimeimmutable ၏လုပ်ဆောင်နိုင်မှုကိုအပြည့်အဝအကောင်အထည်ဖော်ခြင်းမရှိပါ။

2 ။ အခြေအနေများ Date_create_immutable ကို အသုံးပြုပါ

သင်၏လျှောက်လွှာသည် PHP ဗားရှင်းကွဲပြား သော ဗားရှင်းများနှင့်သဟဇာတဖြစ်ရန်လိုအပ်ပါက, ဥပမာအားဖြင့်:

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">function_exists</span></span><span>(</span><span><span class="hljs-string">'date_create_immutable'</span></span><span>)) {
    </span><span><span class="hljs-comment">// အသုံးပြုdate_create_immutable</span></span><span>
    </span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_create_immutable</span></span><span>(</span><span><span class="hljs-string">'2025-06-26'</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-comment">// အသုံးပြု兼容方案,ကဲ့သို့date_create</span></span><span>
    </span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_create</span></span><span>(</span><span><span class="hljs-string">'2025-06-26'</span></span><span>);
    </span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-keyword">clone</span></span><span> </span><span><span class="hljs-variable">$date</span></span><span>;
}
</span></span>

ဤနည်းအားဖြင့်ရက်စွဲပါအင်္ဂါရပ်ကိုပုံမှန်အားဖြင့်ပုံမှန်အားဖြင့်အသုံးပြုသော PHP ဗားရှင်းများတွင်အမှားအယွင်းများမဖြစ်စေဘဲအသုံးပြုသည်။

3 ။ Polyfilt အထုပ်ကိုသုံးပါ

နောက်ထပ်ဖြေရှင်းနည်းမှာ polyfily (compatibility patch) package ကိုအသုံးပြုရန်ဖြစ်သည်။ ဤအစီအစဉ်များသည်များသောအားဖြင့် PHP ၏အောက်ပိုင်းဗားရှင်းတွင်အင်္ဂါရပ်အချို့ကိုအတုခိုးပေးသည်။ သက်ဆိုင်ရာ polyfily package များကို install လုပ်ရန် composer ကိုသုံးနိုင်သည်။ ဒီမှာ installation လုပ်ငန်းစဉ်

 <span><span>composer require symfony/polyfill-php56
</span></span>

install လုပ်ပြီးနောက် Polyfulte Package သည် PHP ဗားရှင်းများအတွက် PHP ဗားရှင်းများအတွက်အခြားရွေးချယ်စရာအကောင်အထည်ဖော်မှုကိုထောက်ပံ့ပေးသည်

4 ။ ထုံးစံအကောင်အထည်ဖော်မှု

အကယ်. သင်သည်တတိယပါတီ၏ package များပေါ်တွင်မှီခိုခြင်းသို့မဟုတ် PHP ဗားရှင်းများကိုမလွယ်ကူပါက dateTimeimmutable -like -like feature ကိုကိုယ်တိုင်ကိုယ်ကျအကောင်အထည်ဖော်ရန်စဉ်းစားနိုင်သည်။ ဤတွင်ရိုးရှင်းသောထုံးစံအတိုင်းအကောင်အထည်ဖော်မှုဖြစ်သည်။

 <span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">MyDateTimeImmutable</span></span><span> </span><span><span class="hljs-keyword">extends</span></span><span> </span><span><span class="hljs-title">DateTime</span></span><span>
{
    </span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">modify</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$modify</span></span></span><span>)
    {
        </span><span><span class="hljs-variable">$clone</span></span><span> = </span><span><span class="hljs-keyword">clone</span></span><span> </span><span><span class="hljs-variable language_">$this</span></span><span>;
        </span><span><span class="hljs-variable">$clone</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">modify</span></span><span>(</span><span><span class="hljs-variable">$modify</span></span><span>);
        </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$clone</span></span><span>;
    }

    </span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">setDate</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$year</span></span></span><span>, </span><span><span class="hljs-variable">$month</span></span><span>, </span><span><span class="hljs-variable">$day</span></span><span>)
    {
        </span><span><span class="hljs-variable">$clone</span></span><span> = </span><span><span class="hljs-keyword">clone</span></span><span> </span><span><span class="hljs-variable language_">$this</span></span><span>;
        </span><span><span class="hljs-variable">$clone</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">setDate</span></span><span>(</span><span><span class="hljs-variable">$year</span></span><span>, </span><span><span class="hljs-variable">$month</span></span><span>, </span><span><span class="hljs-variable">$day</span></span><span>);
        </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$clone</span></span><span>;
    }

    </span><span><span class="hljs-comment">// အခြားအလားတူနည်းလမ်းများ...</span></span><span>
}

</span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">MyDateTimeImmutable</span></span><span>(</span><span><span class="hljs-string">'2025-06-26'</span></span><span>);
</span></span>

ဤချဉ်းကပ်မှုသည်အလုပ်ပိုလိုအပ်နေစဉ်သင့်အားလုံးဝထိန်းချုပ်နိုင်သောဖြေရှင်းချက်တစ်ခုပေးနိုင်သည်။

အကျဉ်းချုပ်

Date_create_immutable သည် PHP 5.5 နှင့်အထက်တွင်ဖော်ပြထားသောအလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်မပြောင်းလဲနိုင်သော datetimeimmutable အရာဝတ်ထုတစ်ခုကိုပြန်လည်ရရှိထားပြီးမူလအရာဝတ်ထုကိုပြုပြင်ခြင်းဖြင့်ပြ problems နာများနှင့်အချိန်များကိုကိုင်တွယ်သည့်အခါရက်စွဲများနှင့်အချိန်များကိုကိုင်တွယ်သောအခါရှောင်ရှားသည်။ သို့သော် PHP ၏အောက်ပိုင်းဗားရှင်းများတွင်ဤ function ကိုမရရှိနိုင်ပါ, ထို့ကြောင့်လိုက်လျောညီထွေဖြစ်အောင်လုပ်ခြင်းဆိုင်ရာပြ issues နာများကို PHP ကိုအဆင့်မြှင့်တင်ခြင်း, စီမံကိန်း၏လိုအပ်ချက်များကိုပေါ် မူတည်. အသင့်တော်ဆုံးအဖြေကိုဤပြ problem နာကိုဖြေရှင်းရန်ရွေးချယ်နိုင်သည်။