PHP Object-Object-Objected Programming (Oop) တွင် အဆုံး (oop) တွင် () function သည်ရိုးရိုးရှင်းရှင်းရိုးရှင်းသောခင်းကျင်းခြင်းလုပ်ငန်းလည်ပတ်မှုတစ်ခုဖြစ်ပြီးအချို့သောအခြေအနေများတွင်အလွယ်တကူရှာဖွေတွေ့ရှိနိုင်သောပြ problems နာများကိုအလွယ်တကူဖြစ်ပေါ်စေနိုင်သည်။ ၎င်း၏ရည်ရွယ်ချက်မှာ array ၏အတွင်းပိုင်းညွှန်ကြားချက်ကိုနောက်ဆုံး element သို့ရွှေ့ပြောင်းရန်နှင့်ထိုဒြပ်စင်၏တန်ဖိုးကိုပြန်ပို့ရန်ဖြစ်သည်။ သို့သော်သင်သည်အရာဝတ်ထု ဦး တည်သည့်အခြေအနေတွင်သတိမပြုမိပါကမျှော်လင့်မထားသောအပြုအမူအချို့ကိုဖြစ်ပေါ်စေနိုင်သည်။
ပထမ ဦး စွာ အဆုံး () အဆုံး () သည် ဖြတ်သန်းသွားသောခင်းကျင်းမှုကို ရည်ညွှန်းခြင်းဖြင့် ပြုလုပ်သော function တစ်ခုဖြစ်သည့် function ဖြစ်သည်။ ၎င်းသည် array ၏အတွင်းပိုင်း pointer အနေအထားကိုပြောင်းလဲစေသည်။
$items = ['apple', 'banana', 'cherry'];
echo end($items); // ထုတ်လုပ်ခြင်း cherry
၎င်းသည်သူ့ဟာသူအတွက်ပြ a နာမဟုတ်ပါ, သို့သော် oop တွင်သင်အသုံးပြုပါကအရာဝတ်ထုနည်းလမ်းအတွင်းရှိအတန်း၏အိမ်ခြံမြေတစ်ခု (array) တစ်ခုတွင် (array ) တွင် (array) တွင်မမှတ်မိပါက၎င်းသည်အရာဝတ်ထု၏အခြေအနေကိုမတော်တဆအကျိုးသက်ရောက်နိုင်သည်။
ဥပမာအားဖြင့်, သင့်တွင်အတန်းတစ်ခုရှိသည်ဆိုပါစို့။
class Cart {
private array $items = ['apple', 'banana', 'cherry'];
public function getLastItem() {
return end($this->items);
}
public function currentItem() {
return current($this->items);
}
}
သင် getlastemem () ဟုခေါ်လျှင် crontinem () ကို ခေါ်ဆိုပါက -
$cart = new Cart();
echo $cart->getLastItem(); // ထုတ်လုပ်ခြင်း cherry
echo $cart->currentItem(); // ထုတ်လုပ်ခြင်း cherry(မဟုတ် apple!)
၎င်းသည်သင်မျှော်လင့်ထားသည့်အပြုအမူမဟုတ်ပါ။ ဘာဖြစ်လို့လဲဆိုတော့ End () ဟာ internal pointer ရဲ့အနေအထားကိုပြောင်းလဲလို့ပဲ ။ ထိုကဲ့သို့သော "ဘေးထွက်ဆိုးကျိုးများ" သည်ရှုပ်ထွေးသောစီးပွားရေးယုတ္တိဗေဒဆိုင်ရာအမှားများကိုဖြစ်ပေါ်စေနိုင်သည်။
ပိုမိုလုံခြုံသောချဉ်းကပ်မှုသည် internal pointer ကိုမထိခိုက်စေဘဲနောက်ဆုံး element ကိုရရှိရန် array_slice () ကို အသုံးပြုရန်ဖြစ်သည်။
class Cart {
private array $items = ['apple', 'banana', 'cherry'];
public function getLastItemSafe() {
$last = array_slice($this->items, -1);
return $last[0] ?? null;
}
}
ဤနည်းလမ်းသည်အတွင်းပိုင်းညွှန်ပြမှုအခြေအနေကိုပြုပြင်မွမ်းမံနိုင်ပြီး အ ရာဝတ်ထုမော်ဒယ်များအတွက်မြင့်မားသောပြည်နယ်ထိန်းချုပ်မှုလိုအပ်ချက်များနှင့်အတူသင့်လျော်သည်။
အကယ်. သင်သည် URL အချက်အလက်များကိုကိုင်တွယ်ဖြေရှင်းနေပါက အဆုံး အသုံးပြုခြင်း၏အခြေအနေကိုအာရုံစိုက်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်:
class UrlManager {
private array $paths = [
'https://m66.net/home',
'https://m66.net/about',
'https://m66.net/contact'
];
public function getLastPathSegment() {
$url = end($this->paths);
$parts = explode('/', parse_url($url, PHP_URL_PATH));
return end($parts);
}
}
ဤအတန်းသည်နောက်ဆုံး URL ၏နောက်ဆုံးလမ်းကြောင်းအပိုင်းကိုမှန်ကန်စွာယူနိုင်သည် ။ အကယ်. $ ဒီ -> လမ်းကြောင်းများ၌ ရှိသောယုတ္တိဗေဒရှိနေသေးသည်။ အခြားနေရာများတွင်လက်ရှိ pointer ပေါ်တွင် မူတည်. ပြ problems နာများပေါ်ပေါက်လာနိုင်သည်။
Surform Writualing Writualing Wriek သည် End () ကို တိုက်ရိုက်အသုံးပြုရန်အတွက်တိုက်ရိုက်အသုံးပြုခြင်းကိုရှောင်ကြဉ်သင့်သည်။
End () ဘေးထွက်ဆိုးကျိုးများရှိသော Array ၏အတွင်းပိုင်းညွှန်ပြမှုကိုပြောင်းလဲစေသည်။
OOP တွင်အရာဝတ်ထုဂုဏ်သတ္တိများကိုပြည်နယ်မရည်ရွယ်ဘဲပြောင်းလဲနိုင်သည်။
သင်သည် array_slice () ကို သုံးနိုင်သည်သို့မဟုတ်နောက်ဆုံး element ကိုရရန်အ ဆုံး () အညွှန်းကိန်းကိုကိုယ်တိုင်တွက်ချက်နိုင်သည်။
URLs များ, ဖိုင်လမ်းကြောင်းများသို့မဟုတ်ရှုပ်ထွေးသောဒေတာအဆောက်အအုံများကိုကိုင်တွယ်သောအခါအထူးသဖြင့်သတိထားပါ။
အကယ်. သင်သည် အဆုံးကို အသုံးပြုရန်လိုအပ်ပါက Class Attribute များပေါ်တွင်တိုက်ရိုက်လုပ်ဆောင်ခြင်းကိုရှောင်ရှားရန်ကြိုးစားပါ။
အဆုံး ၏မှန်ကန်သောနားလည်မှုနှင့်အသုံးပြုမှုကိုအသုံးပြုခြင်းသည်သင့်ကိုပိုမိုတည်ငြိမ်။ ထိန်းသိမ်းနိုင်သော OOP ကုဒ်ရေးရန်ကူညီနိုင်သည်။