Methodenname aus Variable in OOP in PHP
Analog zu Eigenschaftsnamen können in Variablen
auch Methodennamen gespeichert werden. Sehen wir
uns ein Beispiel an. Nehmen wir an, wir haben die folgende
Klasse User mit Gettern für die Eigenschaften:
<?php
class User
{
private $name;
private $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
public function getName()
{
return $this->name;
}
public function getSurn()
{
return $this->surn;
}
}
?>
Erstellen wir ein Objekt dieser Klasse:
<?php
$user = new User('john', 'smit');
?>
Nehmen wir an, in einer Variable wird ein Methodenname gespeichert:
<?php
$method = 'getName';
?>
Lassen Sie uns die Methode mit dem Namen aus der Variable aufrufen:
<?php
echo $user->$method(); // gibt 'john' aus
?>
Gegeben ist die folgende Klasse:
<?php
class Employee
{
private $name;
private $salary;
private $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
public function getName()
{
return $this->name;
}
public function getSalary()
{
return $this->salary;
}
public function getPosition()
{
return $this->position;
}
}
?>
Gegeben ist das folgende Array:
<?php
$methods = [
'method1' => 'getName',
'method2' => 'getSalary',
'method3' => 'getPosition',
];
?>
Erstellen Sie ein Objekt der Klasse Employee
und greifen Sie dann auf seine Eigenschaften
über die Elemente des Arrays zu.