Nome della proprietà da una variabile in OOP in PHP

È possibile accedere alle proprietà degli oggetti per nome da una variabile. Vediamo come si può fare. Supponiamo di avere questa classe User:

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

Creiamo un oggetto di questa classe:

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

Stampiamo il valore della sua proprietà:

php<?php
  echo $user->name; // stamperà 'john'
?>

Supponiamo di avere una variabile che memorizza il nome della proprietà:

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

Utilizziamo ora il valore della variabile come nome della proprietà:

php<?php
  $prop = 'name';
  echo $user->$prop; // stamperà 'john'
?>
Задание 1

Data la seguente classe:

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

Date le seguenti variabili:

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

Create un oggetto della classe Employee, quindi accedete alle sue proprietà tramite le variabili fornite.