Eigenschapsnaam uit variabele in OOP in PHP
Je kunt objecteigenschappen benaderen
op basis van een naam uit een variabele. Laten we eens kijken
hoe dit kan. 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');
?>
Laten we de waarde van zijn eigenschap weergeven:
<?php
echo $user->name; // geeft 'john' weer
?>
Stel dat we een variabele hebben die de eigenschapsnaam bevat:
<?php
$prop = 'name';
?>
Laten we nu de waarde van de variabele gebruiken als de naam van de eigenschap:
<?php
$prop = 'name';
echo $user->$prop; // geeft 'john' weer
?>
Gegeven de volgende klasse:
<?php
class Employee
{
public $name;
public $salary;
public function __construct($name, $salary)
{
$this->name = $name;
$this->salary = $salary;
}
}
?>
Gegeven de volgende variabelen:
<?php
$prop1 = 'name';
$prop2 = 'salary';
?>
Maak een object van de klasse Employee aan,
en benader vervolgens zijn eigenschappen
via de gegeven variabelen.