PHP'де ООП'до жок касиетти окуу
Мурунку сабакта келтирилген мисалда, биз
__get методунун сыйкырдуулугун
жеке касиеттерге кайрылууну кармоо үчүн колдондук.
Чынында бул метод ошондой эле жок касиеттерге
кайрылууну кармоо үчүн пайдалуу болушу мүмкүн.
Практикалык мисалды карап көрөлү. Бизде
User класcы бар болсун, анын аты жана
фамилиясы жарыя касиеттер болуп саналат:
<?php
class User
{
public $surn;
public $name;
}
?>
Келгиле, класcтын объектиси анда дагы
full касиети бар сыяктуу өз-өзүн сезсин,
ал колдонуучунун атын жана фамилиясын чыгарып берет.
Бул үчүн биздин сыйкырдуу
__get методубузду колдонолу:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Текшерип көрөлү:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // 'john smit' деп чыгарат
?>
Date класcын жасаңыз, анын жарыя касиеттери
year, month жана day болсун.
Сыйкырдуулукту колдонуп, weekDay касиетин жасаңыз,
ал датага туура келген жума күнүн кайтарып берет.