PHP OOP တွင် class များအတွင်းရှိ object များကို ကိုင်တွယ်ခြင်း

Class များ၏ method များသည် အခြား class များ၏ object များကို parameter အဖြစ် လက်ခံနိုင်ပြီး ထို object များကို ကိုင်တွယ်နိုင်သည်။ ဥပမာတစ်ခုကို ကြည့်ရအောင်။ ကျွန်ုပ်တို့တွင် အောက်ပါ class ရှိသည်ဆိုပါစို့။

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function getName() {
      return $this->name;
    }
  }
?>

ကျွန်ုပ်တို့သည် user များပါဝင်သော object များကို စုစည်းကိုင်တွယ်မည့် class တစ်ခုကို ဖန်တီးရန် ဆုံးဖြတ်လိုက်သည်ဆိုပါစို့။

php<?php
  class UsersCollection {
    
  }
?>

User object များကို private property တစ်ခုအတွင်း array ပုံစံဖြင့် သိမ်းဆည်းမည်ဖြစ်သည်။

php<?php
  class UsersCollection {
    private $users;
    
    public function __construct() {
      $this->users = [];
    }
  }
?>

Array ထဲသို့ user အသစ်များ ထည့်သွင်းရန် method တစ်ခုကို ဖန်တီးမည်။

php<?php
  class UsersCollection {
    private $users;
    
    public function __construct() {
      $this->users = [];
    }
    
    public function add($user) {
      $this->users[] = $user;
    }
  }
?>

ယခု user အားလုံး၏ အမည်များကို ထုတ်ပြမည့် method ကို ဖန်တီးမည်။

php<?php
  class UsersCollection {
    private $users;
    
    public function __construct() {
      $this->users = [];
    }
    
    public function add($user) {
      $this->users[] = $user;
    }
    
    public function show() {
      foreach ($this->users as $user) {
        echo $user->getName() . '<br>';
      }
    }
  }
?>

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

php<?php
  $uc = new UsersCollection();
?>

ယခု ကျွန်ုပ်တို့၏ collection ထဲသို့ user အချို့ကို ထည့်သွင်းမည်။

php<?php
  $uc->add(new User('john'));
  $uc->add(new User('eric'));
  $uc->add(new User('kyle'));
?>

ယခု user အားလုံး၏ အမည်များကို ထုတ်ပြမည့် method ကို ခေါ်ဆိုမည်။

php<?php
  $uc->show();
?>
Задание 1

ဝန်ထမ်းများအတွက် array ပါဝင်မည့် EmployeesCollection class ကို ဖန်တီးပါ။

Задание 2

ဤ class ထဲတွင် ဝန်ထမ်းအသစ်များ ထည့်သွင်းရန် method တစ်ခုကို ဖန်တီးပါ။

Задание 3

ဤ class ထဲတွင် ဝန်ထမ်းအားလုံးကို ထုတ်ပြရန် method တစ်ခုကို ဖန်တီးပါ။

Задание 4

ဤ class ထဲတွင် ဝန်ထမ်းအားလုံး၏ စုစုပေါင်း လစာကို တွက်ချက်ရန် method တစ်ခုကို ဖန်တီးပါ။

Задание 5

ဤ class ထဲတွင် ဝန်ထမ်းအားလုံး၏ ပျမ်းမျှ လစာကို တွက်ချက်ရန် method တစ်ခုကို ဖန်တီးပါ။