Nama Properti dari Array dalam OOP di PHP

Mari kita lihat sekarang bagaimana cara mengakses properti objek berdasarkan nama dari elemen array. Misalkan kita memiliki kelas User berikut:

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

Mari buat objek dari kelas ini:

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

Misalkan diberikan array properti:

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

Sekarang coba kita tampilkan nilai properti, yang disimpan dalam elemen array ke-nol:

php<?php
  echo $user->$props[0]; // tidak akan bekerja seperti ini
?>

Agar nama properti yang kompleks seperti ini dapat bekerja, perlu diapit dengan kurung kurawal, seperti ini:

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

Diberikan kelas berikut:

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

Diberikan array:

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

Buatlah objek dari kelas Employee, kemudian akses propertinya melalui elemen array.