Хосияти мавжуднабударо дар ООП дар PHP хондан
Дар мисоле, ки дар дарси қаблӣ оварда шуда буд, мо сеҳри усули
__get барои ба даст даровардани муроҷиат ба
хосиятҳои хусусӣ истифода мебурдем. Дар асл ин усул
ҳамчунон барои ба даст даровардани
муроҷиатҳо ба хосиятҳои мавжуднабуда муфид аст.
Биёед ба мисоли амалӣ нигарем. Фарз мекунем, ки
мо як синфи User дорем бо ном ва
насаб, ки хосиятҳои умумӣ мебошанд:
<?php
class User
{
public $surn;
public $name;
}
?>
Биёед чунон кунем, ки объекти синф
чунон рафтор кунад, ки гӯё инчунин хосияти
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 бо хосиятҳои умумии
year, month ва day созед.
Бо ёрии сеҳр хосияти weekDay созед,
ки рӯзи ҳафтаеро бармегардонад, ки ба
сана мувофиқат мекунад.