Eigenschapsnaam uit functie in OOP in PHP
De naam van een eigenschap van een object kan ook uit een functie worden gehaald.
Laten we eens kijken hoe dat wordt gedaan.
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 de volgende functie hebben:
<?php
function getProp()
{
return 'name';
}
?>
Laten we verwijzen naar de eigenschap van het object, waarvan de naam wordt teruggegeven door onze functie:
<?php
echo $user->{getProp()}; // 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;
}
}
?>
Gegeven de volgende functies:
<?php
function getProp1()
{
return 'name';
}
function getProp2()
{
return 'salary';
}
?>
Maak een object van de klasse Employee,
en verwijs dan naar zijn eigenschappen
via de resultaten van de functie-aanroepen.