PHP-ում OOP-ով գոյություն չունեցող հատկության ընթերցում
Նախորդ դասում բերված օրինակում մենք կիրառում էինք
__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 հատկությունը,
որը կվերադարձնի շաբաթվա օրը, որը համապատասխանում է
ամսաթվին: