PHP හි OOP හි නොපවතින ගුණය කියවීම

පෙර පාඩමේ ඉදිරිපත් කළ උදාහරණයේදී, අපි පුද්ගලික ගුණාංග වෙත ප්‍රවේශය අල්ලා ගැනීම සඳහා __get මායා ක්‍රමය භාවිතා කළෙමු. ඇත්ත වශයෙන්ම, මෙම ක්‍රමය නොපවතින ගුණාංග වෙත ප්‍රවේශය අල්ලා ගැනීම සඳහාද ප්‍රයෝජනවත් විය හැකිය.

ප්‍රායෝගික උදාහරණයක් බලමු. අපට User පන්තියක් ඇතැයි සිතමු, එහි අවසර ලත් නම සහ අනන්ය නාමය පොදු ගුණාංග වන අතර:

User.php<?php
  class User
  {
    public $surn;
    public $name;
  }
?>

පන්ති අවස්ථාවකට full ගුණාංගයක්ද ඇති බවක් පෙනෙන පරිදි කරමු, එය පරිශීලකයාගේ අනන්ය නාමය සහ නම පෙන්වයි. මේ සඳහා අපගේ මායා ක්‍රමය __get භාවිතා කරමු:

User.php<?php
  class User
  {
    public $surname;
    public $name;
    public $patronymic;
    
    public function __get($property)
    {
      if ($property == 'full') {
        return $this->surn . ' ' . $this->name;
      }
    }
  }
?>

පරීක්ෂා කර බලමු:

index.php<?php
  $user = new User;
  
  $user->surn = 'john';
  $user->name = 'smit';
  
  echo $user->full; // 'john smit' ප්‍රදර්ශනය කරයි
?>
Задание 1

Date පන්තියක් සාදන්න, එහි පොදු ගුණාංග year, month සහ day ලෙස. මායා භාවිතයෙන් weekDay ගුණාංගය සාදන්න, එය දිනයට අනුරූප වන සතියේ දිනය ආපසු ලබා දෙයි.