PHPдеги ООПде класстардын объектилери менен иштөө
Класстардын методдору башка класстардын объектилерин кабыл алышы жана бул объектилер менен иштеши мүмкүн. Келгиле, мисалды карап көрөлү. Бизде төмөнкүдөй класс бар болсун:
<?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 деген класс түзгүлө,
ал ишмерлердин массивин камтыйт.
Бул классында жаңы ишмерди кошуу үчүн метод түзгүлө.
Бул классында бардык ишмерлерди чыгаруу үчүн метод түзгүлө.
Бул классында бардык ишмерлердин жалпы эмгек акысын эсептөө үчүн метод түзгүлө.
Бул классында бардык ишмерлердин орточо эмгек акысын эсептөө үчүн метод түзгүлө.