ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗ppOpCgPNO 41 of 107 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Имя свойства из другого объекта в ООП в PHP

Имя свойства может быть даже свойством другого объекта. Пусть у нас есть следующий класс User:

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

Создадим объект этого класса:

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

Пусть также у нас есть класс Prop, который в свойстве value будет содержать название свойства:

<?php class Prop { public $value; public function __construct($value) { $this->value = $value; } } ?>

Создадим объект этого класса:

<?php $prop = new Prop('name'); ?>

Теперь с помощью этого объекта выведем имя юзера:

<?php echo $user->{$prop->value}; // выведет 'john' ?>

Дан следующий класс:

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

Дан также такой класс:

<?php class Data { public $prop1 = 'name'; public $prop2 = 'salary'; public $prop3 = 'position'; } ?>

Выведите свойства объекта Employee через объект Data.

byenru