การเข้าถึงคุณสมบัติจากตัวแปรใน OOP PHP

คุณสมบัติของอ็อบเจกต์สามารถเข้าถึงได้ โดยใช้ชื่อจากตัวแปร มาดูกันว่า สามารถทำได้อย่างไร สมมติว่าเรามีคลาส User ดังนี้:

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

ลองสร้างอ็อบเจกต์ของคลาสนี้:

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

ลองแสดงค่าคุณสมบัติของมัน:

php<?php
  echo $user->name; // แสดงผล 'john'
?>

สมมติว่าเรามีตัวแปร ที่เก็บชื่อคุณสมบัติ:

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

ทีนี้ลองใช้ ค่าของตัวแปรเป็นชื่อ คุณสมบัติ:

php<?php
  $prop = 'name';
  echo $user->$prop; // แสดงผล 'john'
?>
Задание 1

ให้คลาสต่อไปนี้:

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

ให้ตัวแปรต่อไปนี้:

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

สร้างอ็อบเจกต์ของคลาส Employee, จากนั้นเข้าถึงคุณสมบัติของมัน ผ่านตัวแปรที่กำหนดให้