PHP da OOP da mavjud bo'lmagan xususiyatni o'qish
Oldingi darsda keltirilgan misolda biz maxfiy xususiyatlarga murojaat qilishni ushlash uchun
__get sehrli metodidan foydalandik. Aslida bu metod
mavjud bo'lmagan xususiyatlarga murojaat qilishni ushlash
uchun ham foydali bo'lishi mumkin.
Keling, amaliy misolni ko'rib chiqaylik. Faraz qilaylik, bizda
User klassi bor bo'lsin, uning familiyasi va ismi
ommaviy xususiyatlardir:
<?php
class User
{
public $surn;
public $name;
}
?>
Keling, klassi ob'ekti shunday ishlashini ta'minlaylik, uning full xususiyati bor
dek, ya'ni foydalanuvchining ismi va familiyasini chiqarsin.
Buning uchun bizning sehrli metodimiz __get dan foydalanamiz:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Keling tekshiramiz:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // chiqaradi 'john smit'
?>
Date klassini yarating, uning year, month va day ommaviy xususiyatlari bor.
Sehr yordamida weekDay xususiyatini yarating,
u sana mos keladigan hafta kunini qaytarsin.