Membaca Properti yang Tidak Ada di OOP dalam PHP
Dalam contoh yang diberikan di pelajaran sebelumnya, kami menerapkan metode ajaib
__get untuk menangani akses ke
properti privat. Sebenarnya, metode ini
juga dapat berguna untuk menangani
akses ke properti yang tidak ada.
Mari kita lihat contoh praktis. Misalkan
kita memiliki kelas User dengan nama belakang dan
nama depan, yang merupakan properti
publik:
<?php
class User
{
public $surn;
public $name;
}
?>
Mari kita buat agar objek dari kelas tersebut
berperilaku seolah-olah ia juga memiliki properti
full, yang menampilkan nama belakang dan nama depan pengguna.
Kita akan menggunakan metode ajaib
__get untuk ini:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Mari kita uji:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // akan menampilkan 'john smit'
?>
Buatlah kelas Date dengan properti publik
year, month dan day.
Dengan menggunakan magic, buatlah properti weekDay,
yang akan mengembalikan hari dalam seminggu yang sesuai dengan
tanggal tersebut.