PHP-də OOP-də mövcud olmayan xassənin oxunması
Əvvəlki dərsdə verilmiş nümunədə biz
__get sehrli metodundan
gizli xassələrə müraciəti tutmaq üçün istifadə etdik.
Əslində bu metod həm də mövcud olmayan xassələrə
müraciətləri tutmaq üçün faydalı ola bilər.
Gəlin praktiki bir nümunəyə baxaq. Tutaq ki,
bizdə adı və soyadı ictimai xassələr olan
User sinfi var:
<?php
class User
{
public $surn;
public $name;
}
?>
Gəlin elə edək ki, sinfin obyekti elə davransın
ki, guya onun həmçinin istifadəçinin adını və soyadını
göstərən full xassəsi də var.
Bunun üçün bizim sehrli metodumuzdan
__get istifadə edək:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Yoxlayaq:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // 'john smit' çap edəcək
?>
Date sinfini ictimai xassələrlə
year, month və day yaradın.
Sehrdən istifadə edərək, tarixə uyğun gələn
həftənin gününü qaytaran weekDay xassəsini yaradın.