PHP 8 တွင် stringableable interface သည်အလွန်လက်တွေ့ကျသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ၎င်း၏အဓိကလုပ်ဆောင်ချက်မှာကြိုးကြိုးပုံစံဖြင့်ပြုလုပ်ထားသောအရာဝတ်ထုများကို enable လုပ်ရန်ဖြစ်သည်။ ဤ interface ကိုမိတ်ဆက်ပေးခြင်းသည် developer များပိုမိုလွယ်ကူစွာ manipulate ကိုအရာဝတ်ထု ဦး စားပေးပတ်ဝန်းကျင်တွင်ပိုမိုလွယ်ကူစွာကိုင်တွယ်ရန်ခွင့်ပြုသည်။
PHP 8 မတိုင်မီကျွန်ုပ်တို့သည်များသောအားဖြင့်စာသားပြုပြင်ခြင်းအတွက်စင်ကြယ်သော string အမျိုးအစားများကိုအသုံးပြုလေ့ရှိသည်။ သို့သော်ဤချဉ်းကပ်မှုသည်စီမံကိန်းပိုမိုရှုပ်ထွေးလာသောအခါပြောင်းလွယ်ပြင်လွယ်ရှိနိုင်သည်။ Stringable interface ကိုအကောင်အထည်ဖော်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ကြိုးများကိုအရာဝတ်ထုများထဲသို့ 0 င်ရောက်နိုင်သည်။
stringableable သည်မည်သည့်နည်းလမ်းများကိုမဆိုသတ်မှတ်ထားသည့်အချည်းနှီးသော interface တစ်ခုဖြစ်သည်။ ၎င်းသည်အချို့သောအတန်းတစ်ခု၏ဥပမာအားဖြင့် string တစ်ခုအဖြစ်အသုံးပြုနိုင်ခြင်းရှိ / မရှိကိုခွဲခြားသတ်မှတ်ရန်သာတည်ရှိသည်။ __TOSTRINT () နည်းလမ်းကိုစာသင်ခန်းတွင်အကောင်အထည်ဖော်နိုင်သမျှကာလပတ်လုံး အဆင်သင့်သော interface ကိုအကောင်အထည်ဖော်နိုင်သမျှကာလပတ်လုံးအရာဝတ်ထုကို string function တွင်တိုက်ရိုက်အသုံးပြုနိုင်သည်။
ဤနေရာတွင် stringable interface ကိုအကောင်အထည်ဖော်မည့်အတန်းတစ်ခုကိုမည်သို့ဖန်တီးရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
class StringObject implements Stringable {
private string $text;
public function __construct(string $text) {
$this->text = $text;
}
public function __toString(): string {
return $this->text;
}
}
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် stringobject class ကိုသတ်မှတ်ပြီး string ရိယာကိုအကောင်အထည်ဖော်ရန်ဖြစ်သည်။ အတန်းတွင် string content ကိုသိမ်းရန်နှင့်စာသားတန်ဖိုးကို __tostring () နည်းလမ်းမှတဆင့်ပြန်ပို့သည် ။
Class သည် stringable interface ကိုအကောင်အထည်ဖော်ပြီးတာနဲ့ PHP built-in strings strings functions ကို သုံး. အရာဝတ်ထုရာဝတီများအာဏာပိုင်များကို အသုံးပြု. တိုက်ရိုက်အသုံးပြုနိုင်သည်။
$text = new StringObject("Hello, world!");
echo strlen($text); // ထုတ်လုပ်ခြင်း:13
echo strtoupper($text); // ထုတ်လုပ်ခြင်း:HELLO, WORLD!
echo substr($text, 0, 5); // ထုတ်လုပ်ခြင်း:Hello
အပေါ်ကပြထားတဲ့အတိုင်း $ စာသား အရာဝတ်ထုဟာသာမန် string မဟုတ်ပေမယ့် stringable interface ကိုအကောင်အထည်ဖော်လို့ပါ။
string string ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်စေရန်ကျွန်ုပ်တို့သည် Custom နည်းလမ်းများအားစာသင်ခန်းသို့လည်းထည့်နိုင်သည်။ ဥပမာအားဖြင့်, string ကိုပြောင်းပြန်ပြောင်းရန် ပြောင်းပြန် () နည်းလမ်းကိုသင်ထည့်နိုင်သည်။
class StringObject implements Stringable {
private string $text;
public function __construct(string $text) {
$this->text = $text;
}
public function __toString(): string {
return $this->text;
}
public function reverse(): string {
return strrev($this);
}
}
ဤနေရာတွင်ကျွန်ုပ်တို့သည် ဤ အရာဝတ်ထုကို strratev () function ကို strrrev () function ကို stratrev () function ကိုတိုက်ရိုက်ဖြတ်သန်းသည်။
$text = new StringObject("Hello, world!");
echo $text->reverse(); // ထုတ်လုပ်ခြင်း:!dlrow ,olleH
သင်မြင်သည့်အတိုင်း ပြောင်းပြန် () နည်းလမ်းသည် string in ပြောင်းခြင်းယုတ္တိဗေဒကိုအသုံးပြုသည်။
PHP 8 တွင် stringable interface သည် string processing ၏ပြောင်းလွယ်ပြင်လွယ်မှုကိုများစွာတိုးတက်စေသည်။ ဤ interface ကိုအကောင်အထည်ဖော်ခြင်းအားဖြင့် stringers string ကိုစစ်ဆင်ရေးယုတ္တိဗေဒကိုစည်းလုံးစေနိုင်သည်။ ၎င်းသည် code ကိုပိုမိုဖတ်ရှုနိုင်ရန်နှင့်ထိန်းသိမ်းနိုင်သောအရာများကိုပိုမိုဖတ်ရှုနိုင်ရန်နှင့်အရာဝတ်ထုကို ဦး စားပေးဒီဇိုင်းသဘောတရားနှင့်ကိုက်ညီစေသည်။