Номи метод аз тағирёбанда дар ООП дар PHP

Ба монанди номҳои хусусиятҳо дар тағирёбанда инчунин метавон номҳои методҳоро нигоҳ дошт. Биёед ба мисол назар кунем. Бигзор мо ин синфро дошта бошем User бо геттерҳои хусусиятҳо:

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

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

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

Бигзор дар тағирёбанда номи метод нигоҳ дошта шавад:

php<?php
  $method = 'getName';
?>

Биёед методро бо ном аз тағирёбанда даъват кунем:

php<?php
  echo $user->$method(); // 'john'-ро хориҷ мекунад
?>
Задание 1

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

php<?php
  class Employee
  {
    private $name;
    private $salary;
    private $position;
    
    public function __construct($name, $salary, $position)
    {
      $this->name = $name;
      $this->salary = $salary;
      $this->position = $position;
    }
    
    public function getName()
    {
      return $this->name;
    }
    
    public function getSalary()
    {
      return $this->salary;
    }
    
    public function getPosition()
    {
      return $this->position;
    }
  }
?>

Массиви зерин дода шудааст:

php<?php
  $methods = [
    'method1' => 'getName',
    'method2' => 'getSalary',
    'method3' => 'getPosition',
  ];
?>

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