Membaca Sifat Tidak Wujud dalam OOP dalam PHP
Dalam contoh yang diberikan dalam pelajaran sebelumnya, kami menggunakan keajaiban kaedah
__get untuk menangani akses kepada
sifat peribadi. Sebenarnya, kaedah ini
juga boleh berguna untuk menangani
akses kepada sifat yang tidak wujud.
Mari lihat contoh praktikal. Katakan
kita ada kelas User dengan nama dan
nama keluarga, yang merupakan sifat
awam:
<?php
class User
{
public $surn;
public $name;
}
?>
Mari kita buat supaya objek kelas
berkelakuan seolah-olah ia juga mempunyai sifat
full, yang memaparkan nama dan nama keluarga pengguna.
Kami akan menggunakan kaedah ajaib kami
__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 uji:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // akan memaparkan 'john smit'
?>
Buat kelas Date dengan sifat awam
year, month dan day.
Dengan menggunakan keajaiban, buat sifat weekDay,
yang akan mengembalikan hari dalam minggu, yang sepadan dengan
tarikh.