Manipulering av objekter i klasser i OOP i PHP
Klasser kan ta imot objekter fra andre klasser som parametre til metoder og manipulere disse objektene. La oss se på et eksempel. Anta at vi har følgende klasse:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Anta at vi bestemte oss for å lage en klasse som skal manipulere et sett med brukerobjekter:
<?php
class UsersCollection {
}
?>
Vi vil lagre brukerobjekter i form av en array i en privat egenskap:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
}
?>
La oss lage en metode for å legge til en ny bruker i arrayen:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
}
?>
Og nå lager vi en metode som skriver ut navnene til alle brukerne:
<?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>';
}
}
}
?>
La oss se på hvordan klassen vår fungerer. Først oppretter vi et objekt av den:
<?php
$uc = new UsersCollection();
?>
Nå legger vi til flere brukere i samlingen vår:
<?php
$uc->add(new User('john'));
$uc->add(new User('eric'));
$uc->add(new User('kyle'));
?>
Og nå kaller vi metoden som skriver ut navnene til alle brukerne:
<?php
$uc->show();
?>
Lag klassen EmployeesCollection,
som skal inneholde en array av ansatte.
Lag en metode i denne klassen for å legge til en ny ansatt.
Lag en metode i denne klassen for å skrive ut alle ansatte.
Lag en metode i denne klassen for å beregne total lønn for alle ansatte.
Lag en metode i denne klassen for å beregne gjennomsnittslønn for alle ansatte.