Manipulation af objekter i klasser i OOP i PHP
Klasser som parameter til metoder kan tage objekter fra andre klasser og manipulere disse objekter. Lad os se på et eksempel. Lad os sige, at vi har følgende klasse:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Lad os sige, at vi besluttede at lave en klasse, som vil manipulere et sæt af objekter med brugere:
<?php
class UsersCollection {
}
?>
Vi vil gemme objekter med brugere i form af et array i en privat egenskab:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
}
?>
Lad os lave en metode til at tilføje en ny bruger til arrayet:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
}
?>
Og nu laver vi en metode, som vil vise alle brugernes navne:
<?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>';
}
}
}
?>
Lad os se på vores klasses funktion. Lad os først oprette dens objekt:
<?php
$uc = new UsersCollection();
?>
Nu tilføjer vi flere brugere til vores samling:
<?php
$uc->add(new User('john'));
$uc->add(new User('eric'));
$uc->add(new User('kyle'));
?>
Og nu kalder vi metoden, som vil vise alle brugernes navne:
<?php
$uc->show();
?>
Lav klassen EmployeesCollection,
som vil indeholde en array af medarbejdere.
Lav en metode i denne klasse til at tilføje en ny medarbejder.
Lav en metode i denne klasse til at vise alle medarbejdere.
Lav en metode i denne klasse til at beregne den samlede løn for alle medarbejdere.
Lav en metode i denne klasse til at beregne den gennemsnitlige løn for alle medarbejdere.