Nome da propriedade a partir de uma função em OOP em PHP

O nome da propriedade do objeto também pode ser obtido a partir de uma função. Vamos ver como isso é feito. Suponha que temos a seguinte classe User:

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

Vamos criar um objeto desta classe:

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

Suponha que temos a seguinte função:

php<?php
  function getProp()
  {
    return 'name';
  }
?>

Vamos acessar a propriedade do objeto, cujo nome é retornado pela nossa função:

php<?php
  echo $user->{getProp()}; // exibirá 'john'
?>
Задание 1

Dada a seguinte classe:

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

Dadas as seguintes funções:

php<?php
  function getProp1()
  {
    return 'name';
  }
  function getProp2()
  {
    return 'salary';
  }
?>

Crie um objeto da classe Employee, e então acesse suas propriedades através dos resultados da execução das funções.