Манипулација со објекти во класи во ООП во 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,
која ќе содржи низа од вработени.
Направете во оваа класа метод за додавање на нов вработен.
Направете во оваа класа метод за приказ на сите вработени.
Направете во оваа класа метод за пресметка на вкупната плата на сите вработени.
Направете во оваа класа метод за пресметка на просечната плата на сите вработени.