PHP හි OOP හි පන්තිවල වස්තු සෙලෝවීම
පන්ති වලට වෙනත් පන්තිවල වස්තු පරාමිති ලෙස ලබාගෙන ඒ වස්තූන් සෙලෝවීමට හැකිය. අපි උදාහරණයක් බලමු. අපට පහත පන්තිය ඇතැයි සිතමු:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
පරිශීලකයින් සමඟ වස්තූන් කට්ටලයක් සෙලෝවන පන්තියක් සෑදීමට අපි තීරණය කළා යැයි සිතමු:
<?php
class UsersCollection {
}
?>
පරිශීලකයින් සමඟ වස්තූන් අරාවක ආකාරයෙන් පෞද්ගලික ගුණාංගයක ගබඩා කරමු:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
}
?>
අරාවට නව පරිශීලකයකු එකතු කිරීම සඳහා විධියක් සාදමු:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
}
?>
දැන් සියලුම පරිශීලකයින්ගේ නම් ප්රදර්ශනය කරන විධියක් සාදමු:
<?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>';
}
}
}
?>
අපේ පන්තියේ ක්රියාකාරිත්වය බලමු. පළමුව එහි වස්තුවක් සාදමු:
<?php
$uc = new UsersCollection();
?>
දැන් අපේ සංග්රහයට පරිශීලකයින් කිහිප දෙනකු එකතු කරමු:
<?php
$uc->add(new User('john'));
$uc->add(new User('eric'));
$uc->add(new User('kyle'));
?>
දැන් සියලුම පරිශීලකයින්ගේ නම් ප්රදර්ශනය කරන විධිය අමතන්න:
<?php
$uc->show();
?>
කම්කරුවන්ගේ අරාවක් අඩංගු වන
EmployeesCollection පන්තිය සාදන්න.
මෙම පන්තියේ නව කම්කරුවකු එකතු කිරීම සඳහා විධියක් සාදන්න.
මෙම පන්තියේ සියලුම කම්කරුවන් ප්රදර්ශනය කිරීම සඳහා විධියක් සාදන්න.
මෙම පන්තියේ සියලුම කම්කරුවන්ගේ මුළු වැටුප ගණනය කිරීම සඳහා විධියක් සාදන්න.
මෙම පන්තියේ සියලුම කම්කරුවන්ගේ සාමාන්ය වැටුප ගණනය කිරීම සඳහා විධියක් සාදන්න.