Ime svojstva iz niza u OOP u PHP

Pogledajmo sada kako pristupiti svojstvu objekta po imenu iz elementa niza. Neka imamo sledeću klasu User:

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

Kreirajmo objekat ove klase:

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

Neka je dat niz svojstava:

php<?php
  $props = ['name', 'surn'];
?>

Pokušajmo sada da ispišemo vrednost svojstva, koje je sačuvano u nultom elementu niza:

php<?php
  echo $user->$props[0]; // ovako neće raditi
?>

Da bi tako složeno ime svojstva radilo, potrebno ga je staviti u vitičaste zagrade, ovako:

php<?php
  echo $user->{$props[0]}; // ispisaće 'john'
?>
Задание 1

Data je sledeća klasa:

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;
    }
  }
?>

Dat je niz:

php<?php
  $arr = ['name', 'salary', 'position'];
?>

Kreirajte objekat klase Employee, a zatim pristupite njegovim svojstvima preko elemenata niza.