Номи хосият аз тағйирёбанда дар ООП дар PHP

Ба хосиятҳои объектҳо метавон бо ном аз тағйирёбанда муроҷиат кард. Биёед бубинем, ки инро чӣ гуна кардан мумкин аст. Бигзор мо чунин синфи User дорем:

php<?php
  class User
  {
    public $name;
    public $surn;
    
    public function __construct($name, $surn)
    {
      $this->name = $name;
      $this->surn = $surn;
    }
  }
?>

Биёед объекти ин синфро эҷод кунем:

php<?php
  $user = new User('john', 'smit');
?>

Қимати хосияти онро чоп кунем:

php<?php
  echo $user->name; // 'john'-ро чоп мекунад
?>

Бигзор мо тағйирёбанда дорем, ки номи хосиятро нигоҳ медорад:

php<?php
  $prop = 'name';
?>

Акнун биёед қимати тағйирёбандаро ҳамчун номи хосият истифода барем:

php<?php
  $prop = 'name';
  echo $user->$prop; // 'john'-ро чоп мекунад
?>
Задание 1

Синфи зерин дода шудааст:

php<?php
  class Employee
  {
    public $name;
    public $salary;
    
    public function __construct($name, $salary)
    {
      $this->name = $name;
      $this->salary = $salary;
    }
  }
?>

Тағйирёбандаҳои зерин дода шудаанд:

php<?php
  $prop1 = 'name';
  $prop2 = 'salary';
?>

Объекти синфи Employee эҷод кунед, ва сипас ба хосиятҳои он тавассути тағйирёбандаҳои додашуда муроҷиат кунед.