PHP တွင် APCuiterator သည် APC (အခြားရွေးချယ်စရာ PHP cache) extension ၏ extension တစ်ခုဖြစ်သောအတန်းထဲတွင်အတန်းတစ်ခုဖြစ်ပြီး၎င်းသည် cache ထဲတွင် key-value အတွဲများနှင့်သက်ဆိုင်သည်။ apcuiterator :: rewind () function သည်ဤအတန်းတွင်အရေးကြီးသောနည်းလမ်းတစ်ခုဖြစ်ပြီး cache ၏ပထမဆုံး element ကိုညွှန်ပြရန် ITERATER ရှိ Pointer ရှိ Pointer ကိုပြန်လည်စတင်ရန်အသုံးပြုသည်။ ဤဆောင်းပါးသည် rewind () function ကိုအသုံးပြုခြင်းနှင့်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်၎င်း၏ application ဇာတ်လမ်းတွဲကိုအသေးစိတ်မိတ်ဆက်ပေးလိမ့်မည်။
apcuiterator :: rewind () method ၏လုပ်ဆောင်ချက်သည် ITERATE ၏အတွင်းပိုင်းညွှန်ပြမှုကိုသိုလှောင်ထားသည့်ဒေတာအတွင်းရှိပထမဒြပ်စင်သို့ကူးယူရန်ဖြစ်သည်။ ၎င်းသည်သင့်အားသိုလှောင်ထားသည့်ဒေတာများ၌ခြစ်ရာမှပြန်လည်ဖြတ်သန်းရန်ခွင့်ပြုသည်။ ဥပမာအားဖြင့်, သင်သည် cache ဖွဲ့စည်းပုံကိုကြားတွင်ပြုပြင်သည့်အခါသို့မဟုတ်သိုလှောင်ထားသည့်အချက်အလက်များကိုဖြတ်သန်းခြင်းကိုပြန်လည်စတင်လိုပါက,
အဆိုပါ rewind () နည်းလမ်းမှာ parameters တွေကိုမရှိဘူး, အဲဒါကိုတိုက်ရိုက်ဖုန်းဆက်ပါ။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-variable">$iterator</span></span><span>-></span><span><span class="hljs-title function_ invoke__">rewind</span></span><span>();
</span></span>
Rewind () မသုံးမီ (), များသောအားဖြင့် apcuiterator အရာဝတ်ထုတစ်ခုကိုဖန်တီးရန်နှင့်သက်ဆိုင်ရာ parameters တွေကိုသတ်မှတ်ရန်လိုအပ်သည်။ apcujuerator ၏လက်လှမ်းမီမှုသည်များသောအားဖြင့်ရှာဖွေမှုအခြေအနေသို့မဟုတ်အချက်အလက်များကိုသိုလှောင်ထားသည့်ပုံစံနှင့်ဆက်စပ်နေသည်။
apcuiterator :: rewind () နည်းလမ်းကို အသုံးပြု. ရိုးရှင်းသောဥပမာတစ်ခုရှိသည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// စွမ်းဆောင်နိုင်စေ APC သိုကာတာ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">apc_add</span></span><span>(</span><span><span class="hljs-string">'key1'</span></span><span>, </span><span><span class="hljs-string">'value1'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">apc_add</span></span><span>(</span><span><span class="hljs-string">'key2'</span></span><span>, </span><span><span class="hljs-string">'value2'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">apc_add</span></span><span>(</span><span><span class="hljs-string">'key3'</span></span><span>, </span><span><span class="hljs-string">'value3'</span></span><span>);
</span><span><span class="hljs-comment">// ဖန်တီး APCUIterator နမူနာ,遍历သိုကာတာ中的所有键值对</span></span><span>
</span><span><span class="hljs-variable">$iterator</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">APCUIterator</span></span><span>(</span><span><span class="hljs-string">'/.*/'</span></span><span>);
</span><span><span class="hljs-comment">// အားလုံး key-value အားလုံးအတွက်မှတဆင့်ကြားမှာ</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$iterator</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$entry</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$entry</span></span><span>[</span><span><span class="hljs-string">'key'</span></span><span>] . </span><span><span class="hljs-string">" => "</span></span><span> . </span><span><span class="hljs-variable">$entry</span></span><span>[</span><span><span class="hljs-string">'value'</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
</span><span><span class="hljs-comment">// တယ်လီဖုန်းဆက်ခြင်း rewind() pointer ကို reset</span></span><span>
</span><span><span class="hljs-variable">$iterator</span></span><span>-></span><span><span class="hljs-title function_ invoke__">rewind</span></span><span>();
</span><span><span class="hljs-comment">// နောက်တဖန်ရှောက်သွားပါ,ခြစ်ရာကနေစရှိမရှိစစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"After rewind:\n"</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$iterator</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$entry</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$entry</span></span><span>[</span><span><span class="hljs-string">'key'</span></span><span>] . </span><span><span class="hljs-string">" => "</span></span><span> . </span><span><span class="hljs-variable">$entry</span></span><span>[</span><span><span class="hljs-string">'value'</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
အထက်ပါကုဒ်တွင်အဓိကတန်ဖိုးအတွဲ (3) ခုကို APC cache ထဲသို့ပထမဆုံးထည့်သွင်းထားပြီး apcuiterator ဥပမာတစ်ခုမှာ cache ထဲတွင်သော့ချက်တန်ဖိုးအတွဲများအားလုံးကိုကျော်လွှားရန်ဖန်တီးသည်။ ပထမကွင်းဆက်ပြီးသွားပြီဆိုတော့ iterator ကို rewind () method ကိုပြန်လည်စတင်ဖို့လို့ခေါ်တယ်, ဒါကြောင့် cache ထဲမှာဒေတာကိုပြန်ဖြတ်နိုင်ဖို့လို့ခေါ်တယ်။
အဆိုပါ rewind () နည်းလမ်းသည်အောက်ပါအခြေအနေများတွင်အလွန်အသုံးဝင်သည်။
Restart Traversal ကိုပြန်လည်စတင်ပါ ။ အကယ်. သင်သည် Pointer ကိုပြန်လည်စတင်ရန် Rewind () ကိုသုံးနိုင်သည်။ ဤသည် cache ကိုအကြိမ်ပေါင်းများစွာတွင်အချက်အလက်များကိုဖြတ်သန်းရန်လိုအပ်သည့်အခါ၎င်းသည်အထူးသဖြင့်ထိရောက်မှုရှိသည်။
cache အကြောင်းအရာကိုဒိုင်းနယူး address ကို update လုပ်ပါ ။ ယခုအချိန်တွင်သင်သည်အချက်အလက်သမာဓိရှိစေရန် cache ကိုပြုပြင်ပြီးနောက်သင် rewind () ကိုခေါ်ဆိုနိုင်သည်။
Paging application : cached data ကိုကိုင်တွယ်ရန်လိုအပ်သည့်အပလီကေးရှင်းများတွင် Rewind () သည် paging အကြားကြားဖြတ်ဆက်သွယ်မှုကိုအားပြန်ကောင်းလာစေရန်ကူညီပေးနိုင်သည်။
Rewind () နည်းလမ်းသည် pointer ကိုပြန်လည်စတင်ရန်အလွန်အဆင်ပြေနိုင်သော်လည်းအချို့သောကိစ္စရပ်များတွင် အငြင်းပွားမှုများကို မကြာခဏခေါ်ဆိုမှုသည်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်နိုင်သည်။ အထူးသဖြင့်သိုလှောင်ထားသည့်ဒေတာအမြောက်အများကိုကိုင်တွယ်သောအခါအလွန်အကျွံ pointer reset operations သည်အပိုဆောင်းစွမ်းဆောင်ရည်ကို ဦး တည်စေသည်။ ထို့ကြောင့်၎င်းကိုအသုံးပြုသောအခါမလိုအပ်သောပြန်လည်စတင်ခြင်းကိုရှောင်ရှားရန်ဂရုပြုသင့်သည်။
ထို့အပြင် apcuiterator ကို APC cache တွင်ရှိပြီးသားဒေတာများကိုလုပ်ကိုင်ရန်သာအသုံးပြုနိုင်သည်။ ထို့ကြောင့် Rewind ကို မသုံးမီ cache တွင်အချက်အလက်များနှင့်ဤအချက်အလက်များသည်သင်၏ရှာဖွေမှုစံနှုန်းများနှင့်ကိုက်ညီကြောင်းအတည်ပြုရမည်။
Apcuiterator :: rewind () သည် developer များက carded data များကြားတွင်ဖော်ပြထားသောအချက်အလက်များကိုပြန်လည်စတင်ရန်ခွင့်ပြုသည့်အလွန်လက်တွေ့ကျသောနည်းလမ်းဖြစ်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤနည်းလမ်းကိုမကြာခဏဆိုသလို updation updates များ, paging စစ်ဆင်ရေးများသို့မဟုတ်သမာဓိစောင့်သိရန်အချို့သောကိစ္စရပ်များတွင်အသုံးပြုလေ့ရှိသည်။ သို့သော်မလိုအပ်သောစွမ်းဆောင်ရည် overhead ကိုရှောင်ရှားရန်ဤနည်းလမ်း၏ဆင်ခြင်တုံတရားအသုံးပြုမှုကိုအာရုံစိုက်ရန်လိုအပ်သည်။
Rewind ၏နားလည်မှုနှင့်အသုံးချခြင်းအားဖြင့် developer များသည် PHP Cache Data ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်မှုစွမ်းဆောင်ရည်နှင့်ပမာဏကိုတိုးတက်စေရန်ပိုမိုပြောင်းလွယ်ပြင်လွယ်စွာလည်ပတ်နိုင်ကြသည်။