Eigenschaftsname aus einer Funktion in OOP in PHP
Der Name einer Objekteigenschaft kann ebenfalls aus einer Funktion bezogen werden.
Schauen wir uns an, wie das gemacht wird.
Nehmen wir an, wir haben die folgende Klasse User:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Erstellen wir ein Objekt dieser Klasse:
<?php
$user = new User('john', 'smit');
?>
Nehmen wir an, wir haben die folgende Funktion:
<?php
function getProp()
{
return 'name';
}
?>
Greifen wir auf die Objekteigenschaft zu, deren Name von unserer Funktion zurückgegeben wird:
<?php
echo $user->{getProp()}; // gibt 'john' aus
?>
Gegeben ist die folgende 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;
}
}
?>
Gegeben sind die folgenden Funktionen:
<?php
function getProp1()
{
return 'name';
}
function getProp2()
{
return 'salary';
}
?>
Erstellen Sie ein Objekt der Klasse Employee,
und greifen Sie dann auf seine Eigenschaften
über die Ergebnisse der Funktionsaufrufe zu.