Metodo pavadinimas iš kintamojo OOP PHP
Pagal analogiją su savybių pavadinimais kintamajame
taip pat galima saugoti ir metodų pavadinimus. Pažiūrėkime
pavyzdžiu. Tarkime, kad mums duotas štai
tokios klasės User su savybių getteriais:
<?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;
}
}
?>
Sukurkime šios klasės objektą:
<?php
$user = new User('john', 'smit');
?>
Tarkime, kad kintamajame saugomas metodo pavadinimas:
<?php
$method = 'getName';
?>
Iškvieskime metodą su pavadinimu iš kintamojo:
<?php
echo $user->$method(); // išves 'john'
?>
Duota ši klasė:
<?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;
}
}
?>
Duotas masyvas:
<?php
$methods = [
'method1' => 'getName',
'method2' => 'getSalary',
'method3' => 'getPosition',
];
?>
Sukurkite Employee klasės objektą,
o tada kreipkitės į jo savybes
per masyvo elementus.