PHP OOP တွင် class များအတွင်းရှိ object များကို ကိုင်တွယ်ခြင်း
Class များ၏ method များသည် အခြား class များ၏ object များကို parameter အဖြစ် လက်ခံနိုင်ပြီး ထို object များကို ကိုင်တွယ်နိုင်သည်။ ဥပမာတစ်ခုကို ကြည့်ရအောင်။ ကျွန်ုပ်တို့တွင် အောက်ပါ class ရှိသည်ဆိုပါစို့။
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
ကျွန်ုပ်တို့သည် user များပါဝင်သော object များကို စုစည်းကိုင်တွယ်မည့် class တစ်ခုကို ဖန်တီးရန် ဆုံးဖြတ်လိုက်သည်ဆိုပါစို့။
<?php
class UsersCollection {
}
?>
User object များကို private property တစ်ခုအတွင်း array ပုံစံဖြင့် သိမ်းဆည်းမည်ဖြစ်သည်။
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
}
?>
Array ထဲသို့ user အသစ်များ ထည့်သွင်းရန် method တစ်ခုကို ဖန်တီးမည်။
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
}
?>
ယခု user အားလုံး၏ အမည်များကို ထုတ်ပြမည့် method ကို ဖန်တီးမည်။
<?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
$uc = new UsersCollection();
?>
ယခု ကျွန်ုပ်တို့၏ collection ထဲသို့ user အချို့ကို ထည့်သွင်းမည်။
<?php
$uc->add(new User('john'));
$uc->add(new User('eric'));
$uc->add(new User('kyle'));
?>
ယခု user အားလုံး၏ အမည်များကို ထုတ်ပြမည့် method ကို ခေါ်ဆိုမည်။
<?php
$uc->show();
?>
ဝန်ထမ်းများအတွက် array ပါဝင်မည့် EmployeesCollection
class ကို ဖန်တီးပါ။
ဤ class ထဲတွင် ဝန်ထမ်းအသစ်များ ထည့်သွင်းရန် method တစ်ခုကို ဖန်တီးပါ။
ဤ class ထဲတွင် ဝန်ထမ်းအားလုံးကို ထုတ်ပြရန် method တစ်ခုကို ဖန်တီးပါ။
ဤ class ထဲတွင် ဝန်ထမ်းအားလုံး၏ စုစုပေါင်း လစာကို တွက်ချက်ရန် method တစ်ခုကို ဖန်တီးပါ။
ဤ class ထဲတွင် ဝန်ထမ်းအားလုံး၏ ပျမ်းမျှ လစာကို တွက်ချက်ရန် method တစ်ခုကို ဖန်တီးပါ။