PHP OOP-da ýok bolan häsiýeti okamak

Öňki sapakda görkezilen mysalda, biz __get sehrli metodyny hususy häsiýetlere ýüzlenişleri tutmak üçin ulandy. Aslynda bu metod ýok bolan häsiýetlere ýüzlenişleri tutmak üçin hem gerekli bolup biler.

Amaly mysala seredeliň. Geliň, bizde ady we familiýasy ýaly umumy häsiýetleri bolan User klassy bolsun:

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

Geliň, klasynyň objekti şeýle hereket etsin, görün, onda şeýle bir full häsiýeti hem bar, ulanyjynyň adyny we familiýasyny görkezýän. Bunun üçin öz sehrli metodymyz __get-y ulanalyň:

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

Göreliň:

index.php<?php
  $user = new User;
  
  $user->surn = 'john';
  $user->name = 'smit';
  
  echo $user->full; // 'john smit' görkezer
?>
Задание 1

Date klasyny ýasalyň, onuň year, month we day ýaly umumy häsiýetleri bolsun. Sehr bilen weekDay häsiýetini ýasalyň, bu sene degişli hepdeniň günini gaýtarsyn.