Objektu manipulācija klasēs OOP PHP
Klases kā metožu parametri var pieņemt citu klases objektus un manipulēt ar šiem objektiem. Apskatīsim to ar piemēru. Pieņemsim, ka mums ir šāda klase:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Pieņemsim, ka mēs nolēmām izveidot klasi, kas manipulēs ar lietotāju objektu kopu:
<?php
class UsersCollection {
}
?>
Glabāsim lietotāju objektus masīva veidā privātā īpašībā:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
}
?>
Izveidosim metodi jauna lietotāja pievienošanai masīvam:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
}
?>
Un tagad izveidosim metodi, kas izvadīs visu lietotāju vārdus:
<?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>';
}
}
}
?>
Apskatīsim mūsu klases darbību. Vispirms izveidosim tās objektu:
<?php
$uc = new UsersCollection();
?>
Tagad pievienosim mūsu kolekcijai vairākus lietotājus:
<?php
$uc->add(new User('john'));
$uc->add(new User('eric'));
$uc->add(new User('kyle'));
?>
Un tagad izsauksim metodi, kas izvadīs visu lietotāju vārdus:
<?php
$uc->show();
?>
Izveidojiet klasi EmployeesCollection,
kura saturēs darbinieku masīvu.
Izveidojiet šajā klasē metodi jauna darbinieka pievienošanai.
Izveidojiet šajā klasē metodi visu darbinieku izvadīšanai.
Izveidojiet šajā klasē metodi visu darbinieku kopējās algas aprēķināšanai.
Izveidojiet šajā klasē metodi visu darbinieku vidējās algas aprēķināšanai.