Naam van eigenschap van een ander object in OOP in PHP
De naam van de eigenschap kan zelfs een eigenschap zijn van een ander
object. Stel dat we de volgende klasse User hebben:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Laten we een object van deze klasse aanmaken:
<?php
$user = new User('john', 'smit');
?>
Stel dat we ook de klasse
Prop hebben, die in de eigenschap
value de naam van de
eigenschap zal bevatten:
<?php
class Prop
{
public $value;
public function __construct($value)
{
$this->value = $value;
}
}
?>
Laten we een object van deze klasse aanmaken:
<?php
$prop = new Prop('name');
?>
Laten we nu met behulp van dit object de naam van de gebruiker weergeven:
<?php
echo $user->{$prop->value}; // geeft 'john' weer
?>
Gegeven de volgende klasse:
<?php
class Employee
{
public $name;
public $salary;
public $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
}
?>
Ook gegeven is de volgende klasse:
<?php
class Data
{
public $prop1 = 'name';
public $prop2 = 'salary';
public $prop3 = 'position';
}
?>
Geef de eigenschappen van het object Employee
weer via het object Data.