Leximi i vetive që nuk ekzistojnë në OOP në PHP
Në shembullin e dhënë në mësimin e mëparshëm, ne aplikuan magjinë e metodës
__get për të kapur aksesin në
veti private. Në fakt kjo metodë
gjithashtu mund të jetë e dobishme për të kapur
aksese në veti që nuk ekzistojnë.
Le të shohim një shembull praktik. Le të
them se kemi një klasë User me mbiemër dhe
emër, të cilat janë veti
publike:
<?php
class User
{
public $surn;
public $name;
}
?>
Le ta bëjmë që objekti i klasës
të sillet sikur ka edhe vetinë
full, e cila shfaq emrin dhe mbiemrin e përdoruesit.
Le të përdorim për këtë metodën tonë magjike
__get:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Le të kontrollojmë:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // do të shfaqet 'john smit'
?>
Krijoni një klasë Date me veti publike
year, month dhe day.
Duke përdorur magjinë, krijoni vetinë weekDay,
e cila do të kthejë ditën e javës që korrespondon me
datën.