⊗ppOpAdPBR 23 of 107 menu

PHP OOP တွင် အက်ပလက်ရှင်းများကို reference ဖြင့် လွှဲပြောင်းခြင်း

အောက်ပါအတိုင်း User class ကို ဖန်တီးထားသည်ဆိုပါစို့:

<?php class User { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } ?>

အဆိုပါ class ၏ အက်ပလက်ရှင်းတစ်ခုကို ဖန်တီးပါမည်:

<?php $user = new User('john', 30); ?>

ယခု အောက်ပါအခြေအနေကို စဉ်းစားကြည့်ပါ: သင် သည်း $user ရှိ တန်ဖိုးကို အခြားသော variable တစ်ခုထံသို့ ထည့်သွင်းလိုသည်၊ ဥပမာ $test.

၎င်းသည် အက်ပလက်ရှင်းများနှင့် မသက်ဆိုင်ဘဲ primitives များ၊ ဆိုလိုသည်မှာ စာကြောင်းများ၊ ဂဏန်းများ၊ arrays စသည်ဖြင့် ဆိုပါက၊ $test variable ထဲသို့ $user variable ၏ တန်ဖိုး၏ copy သာ ဝင်ရောက်မည်။

ဆိုလိုသည်မှာ နောင်တွင် variable တစ်ခုခု၌ ပြောင်းလဲမှုများ ပြုလုပ်လျှင်ပင် အခြား variable ၏ တန်ဖိုးကို ပြောင်းလဲသွားစေမည် မဟုတ်ပါ။ ဥပမာဖြင့် ကြည့်ရအောင်:

<?php $user = 1; $test = $user; // $test variable ထဲတွင် ယခု 1 ရှိသည် $test = 2; // $test variable ထဲတွင် ယခု 2 ရှိပြီး၊ $user ထဲတွင် ဆက်လက်၍ 1 ရှိဆဲဖြစ်သည် ?>

အက်ပလက်ရှင်းများနှင့် မတူပါ - အခြား variable သို့ ရေးသားသွင်းသောအခါ အက်ပလက်ရှင်းများသည် copy မကူးပါ၊ သို့မဟုတ် reference ဖြင့် လွှဲပြောင်း၏: ဆိုလိုသည်မှာ ဤ variable နှစ်ခုစလုံး၏ တန်ဖိုးသည် တစ်ခုတည်းသော အက်ပလက်ရှင်းကို ရည်ညွှန်းနေခြင်း ဖြစ်သည်။ ဤအချက်သည် အရေးကြီးသော သက်ရောက်မှုရှိသည်: variable တစ်ခုကို အသုံးပြု၍ အက်ပလက်ရှင်း၏ �ုဏ်သတ္တိများကို ပြောင်းလဲလိုက်ပါက၊ ဒုတိယ variable ထဲတွင်လည်း ထိုပြောင်းလဲမှုများ ပေါ်လာမည်ဖြစ်သည်။

လက်တွေ့တွင် ကြည့်ကြပါစို့။ User အတွက် အက်ပလက်ရှင်းတစ်ခုကို ဖန်တီးပါမည်:

<?php $user = new User('john', 30); ?>

အက်ပလက်ရှင်းကို အခြား variable သို့ ထည့်သွင်းပါမည်:

<?php $test = $user; ?>

name ဂုဏ်သတ္တိကို $test variable ထဲတွင် ပြောင်းလဲပါမည်

<?php $test->name = 'eric'; ?>

ဘုံအက်ပလက်ရှင်း ပြောင်းလဲသွားခြင်း ဟုတ်မဟုတ် စစ်ဆေးကြည့်ကြပါစို့။ name ဂုဏ်သတ္တိကို $user variable မှ ထုတ်ပြပါမည်:

<?php echo $user->name; // 'eric' ကို ထုတ်ပြမည်! ?>

Product class ကို ပြုလုပ်ပါ၊ ယင်းထဲတွင် အောက်ပါ ဂုဏ်သတ္တိများ ပါဝင်ပါစေ: name, price.

Product class ၏ အက်ပလက်ရှင်းတစ်ခုကို ဖန်တီးပါ၊ ထိုအက်ပလက်ရှင်းကို $product1 variable ထဲသို့ ရေးသွင်းပါ။

$product1 variable ၏ တန်ဖိုးကို $product2 variable သို့ ထည့်သွင်းပါ။ variable နှစ်ခုစလုံးသည် တစ်ခုတည်းသော အက်ပလက်ရှင်းကို ညွှန်ပြနေခြင်း ဟုတ်မဟုတ် စစ်ဆေးပါ။

မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်