Manipulasi Objek dalam Kelas dalam OOP dalam PHP
Kelas sebagai parameter kaedah boleh menerima objek dari kelas lain dan memanipulasi objek-objek tersebut. Mari kita lihat contoh. Katakan kita mempunyai kelas berikut:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Katakan kita ingin membuat kelas yang akan memanipulasi satu set objek pengguna:
<?php
class UsersCollection {
}
?>
Kita akan menyimpan objek pengguna dalam bentuk array dalam sifat persendirian:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
}
?>
Mari buat kaedah untuk menambah pengguna baru ke dalam array:
<?php
class UsersCollection {
private $users;
public function __construct() {
$this->users = [];
}
public function add($user) {
$this->users[] = $user;
}
}
?>
Sekarang mari buat kaedah yang akan memaparkan nama semua pengguna:
<?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>';
}
}
}
?>
Mari lihat cara kelas kita berfungsi. Pertama, mari buat objeknya:
<?php
$uc = new UsersCollection();
?>
Sekarang tambahkan beberapa pengguna ke dalam koleksi kami:
<?php
$uc->add(new User('john'));
$uc->add(new User('eric'));
$uc->add(new User('kyle'));
?>
Sekarang panggil kaedah yang akan memaparkan nama semua pengguna:
<?php
$uc->show();
?>
Buat kelas EmployeesCollection,
yang akan mengandungi array pekerja.
Buat kaedah dalam kelas ini untuk menambah pekerja baru.
Buat kaedah dalam kelas ini untuk memaparkan semua pekerja.
Buat kaedah dalam kelas ini untuk mengira jumlah gaji semua pekerja.
Buat kaedah dalam kelas ini untuk mengira gaji purata semua pekerja.