PHP-де ООП-та болмаған қасиетті оқу
Алдыңғы сабақта келтірілген мысалда біз
жеке қасиеттерге сілтемелерді ұстау үшін
__get сиқырлы әдісін қолдандық.
Шын мәнінде бұл әдіс сонымен қатар
болмаған қасиеттерге сілтемелерді ұстау
үшін пайдалы болуы мүмкін.
Практикалық мысалды қарастырайық. Бізде
User сыныбы болсын, оның тегі мен
аты жалпыға бірдей қасиеттер болып табылады:
<?php
class User
{
public $surn;
public $name;
}
?>
Сынып нысаны сондай-аты және тегі
пайдаланушыны көрсететін full
қасиеті бар сияқты әрекет ететіндей етейік.
Бun үшін біздің сиқырлы әдісіміз
__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 сыныбын жасаңыз, оның жалпыға бірдей қасиеттері
year, month және day болсын.
Сиқырды қолданып, weekDay қасиетін жасаңыз,
ол күн сәйкес келетін аптаның күнін қайтарады.