PHP တွင် OOP သို့ မိတ်ဆက်

ယခုအခါ ကျွန်ုပ်တို့သည် PHP တွင် OOP ကို လေ့လာမည်။ လက်တွေ့ဘဝမှ ဥပမာတစ်ခုကို ကြည့်ကြပြီး ၎င်းကို PHP သို့ သယ်ဆောင်သွားကြမည်။

ဥပမာအနေဖြင့် ကားတစ်စီးကို ယူကြမည်။ ၎င်းတွင် တာယာ၊ အရောင်၊ ကားကိုယ်ထည်အမျိုးအစား၊ အင်ဂျင်အရွယ်အစား စသည်တို့ ရှိသည်။ ထို့အပြင်၊ မောင်းသူသည် သူ့အား အမိန့်ပေးနိုင်သည် - မောင်းပါ၊ ရပ်ပါ၊ ညာဘက်ကွေ့ပါ၊ ဘယ်ဘက်ကွေ့ပါ စသည်။

ယေဘုယျဂုဏ်သတ္တိများ (အားလုံးတွင် တာယာရှိပြီး အားလုံးကို အမိန့်ပေးနိုင်သည်) ရှိသည့် ကား၏ class တစ်ခု ရှိသည်ဟု ပြောနိုင်သည်။

လမ်းပေါ်တွင် ရပ်နေသည့် သီးခြားကားတစ်စီးသည် - ဤ class ၏ ကိုယ်စားလှယ်၊ သို့မဟုတ် အခြားစကားလုံးဖြင့် ဤ class ၏ object ဖြစ်သည်။ ဤ class ၏ object အားလုံးတွင် properties များရှိသည်- တာယာအရေအတွက်၊ အရောင်၊ ကားကိုယ်ထည်အမျိုးအစား နှင့် methods များရှိသည်- မောင်းပါ၊ ရပ်ပါ၊ ညာဘက်ကွေ့ပါ၊ ဘယ်ဘက်ကွေ့ပါ။

တစ်နည်းဆိုသော် class ကိုယ်တိုင်သည် ပုံစံပြား၊ အလိုက်စက်ရုံတွင် ကားများကို ပြုလုပ်သည်။ Object မှာ ထိုပုံစံပြားများအလိုက် ပြုလုပ်ထားသော ကားကိုယ်ထည် ဖြစ်သည်။

PHP တွင် class ကို သော့ချက်စကားလုံး class ဖြင့် ဖန်တီးပြီး ၎င်းနောက်တွင် ထို class ၏ အမည်ကို ရေးသည်။ ကျွန်ုပ်တို့သည် class Car ကို ဖန်တီးကြမည်-

php<?php
  class Car
  {
    // ဤနေရာတွင် code၊ ဆိုလိုသည်မှာ PHP-ပုံစံပြားကား
  }
?>

ယခုအခါ ကျွန်ုပ်တို့၏ ပုံစံပြားတွင်၊ ဤပုံစံပြားအလိုက် ဖန်တီးထားသော မည်သည့်ကားမဆို အရောင်အတွက် property တစ်ခုနှင့် လောင်စာဆီပမာဏအတွက် property တစ်ခု ရှိမည်ဟု ဖော်ပြကြမည်။

ဤအတွက် class အတွင်းတွင် property $color နှင့် property $fuel ကို ရေးကြမည်-

php<?php
  class Car
  {
    // Properties များကို သတ်မှတ်ကြမည် (class ၏ variable များနှင့်အတူ)-
    public $color; // ကား၏ အရောင်
    public $fuel; // လောင်စာဆီပမာဏ
  }
?>

ယခုအခါ ကျွန်ုပ်တို့ class ၏ methods များကို ဖန်တီးကြမည်။ PHP တွင် methods များသည် သာမန် function များကဲ့သို့ပင် သော့ချက်စကားလုံး function ဖြင့် ကြေညာပြီး ၎င်းအရှေ့တွင် သော့ချက်စကားလုံး public ကို ရေးသည်။

အထက်တွင်ဖော်ပြခဲ့သကဲ့သို့ပင်၊ ကျွန်ုပ်တို့၏ ကားသည် မောင်းနိုင်သည်၊ ကွေ့နိုင်သည်၊ ရပ်နိုင်သည်။ ကျွန်ုပ်တို့ class တွင် သက်ဆိုင်ရာ methods များကို ဖန်တီးကြမည်-

php<?php
  class Car
  {
    public $color; // ကား၏ အရောင်
    public $fuel;  // လောင်စာဆီပမာဏ
    
    // မောင်းရန် အမိန့်-
    public function go()
    {
      // PHP code အချို့
    }
    
    // ကွေ့ရန် အမိန့်-
    public function turn()
    {
      // PHP code အချို့
    }
    
    // ရပ်ရန် အမိန့်-
    public function stop()
    {
      // PHP code အချို့
    }
  }
?>

ကျွန်ုပ်တို့သည် သင်နှင့်အတူ ကျွန်ုပ်တို့၏ ကား၏ ပုံစံပြားကို ဖန်တီးပြီးပြီ။ ယခုအခါ စက်ရုံသို့ သွားပြီး ဤ class ၏ object ကို ဖန်တီးရန် (ဆိုလိုသည်မှာ သီးခြားကား) လိုအပ်သည်။

PHP တွင် ဤသည်ကို သော့ချက်စကားလုံး new ဖြင့် ပြုလုပ်ပြီး ၎င်းနောက်တွင် class ၏အမည်ကို ရေးသည်-

php<?php
  new Car;
?>

သို့သော်၊ class ၏ object ကို ရိုးရိုးဖန်တီးလိုက်ရုံမျှဖြင့် - ဘာမျှမဖြစ်နိုင်ပါ (ဥပမာ၊ array တစ်ခုကို ကြေညာပြီး မည်သည့်နေရာတွင်မှ မရေးသားခြင်းနှင့် အတူတူပင်ဖြစ်သည်)။ ဤ object ကို သိမ်းဆည်းရန် variable တစ်ခု လိုအပ်သည်။

ထို variable ၏အမည်ကို $myCar ဟု ခေါ်ပါစေ - ကျွန်ုပ်တို့ဖန်တီးထားသော object ကို ၎င်းအတွင်း ရေးကြမည်-

php<?php
  $myCar = new Car;
?>

ကားဖန်တီးပြီးနောက် ၎င်း၏ properties များကို ညွှန်းဆိုနိုင်သည်။ ၎င်းတို့ကို ညွှန်းဆိုခြင်းသည် မြှား -> မှတစ်ဆင့် ဖြစ်ပေါ်သည်။ ကျွန်ုပ်တို့ object ၏ properties များကို သတ်မှတ်ကြမည်-

php<?php
  $myCar = new Car; // စက်ရုံကို ကားဖန်တီးရန် အမိန့်ပေးသည်
  
  // Object ၏ properties များကို သတ်မှတ်သည်-
  $myCar->color = 'red'; // အနီရောင်သို့ ဆေးသုတ်သည်
  $myCar->fuel = 50; // လောင်စာဆီဖြည့်သည်
?>

အားလုံးပြီးပြီ၊ ကျွန်ုပ်တို့၏ ကားကို ဖန်တီးပြီး၊ ဆေးသုတ်ပြီး၊ လောင်စာဆီဖြည့်ပြီးပြီ။ ယခုအခါ ကျွန်ုပ်တို့သည် ဤကား၏ methods မှတစ်ဆင့် ၎င်းအား အမိန့်များ ပေးနိုင်သည်။

Methods များကို ညွှန်းဆိုခြင်းသည်လည်း မြှားမှတစ်ဆင့် ဖြစ်ပေါ်သော်လည်း၊ property နှင့်မတူဘဲ၊ method အမည်နောက်တွင် လက်ဝိုင်းကွင်းများ ရေးရသည်။ ကျွန်ုပ်တို့ object ကို အမိန့်ပေးကြမည်-

php<?php
  $myCar->go();
  $myCar->turn();
  $myCar->stop();
?>