PHP да ООП да объект метода номини ўзгартувчидан олиш
Хоссалар номларини ўзгартувчида сақлашга ўхшаш
усулда метод номларини ҳам сақлаш мумкин. Келинг
мисолда кўрамиз. Бизда User класси ва унинг
геттерлари мавжуд деб фараз қилайлик:
<?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;
}
}
?>
Ушбу класс объектини яратамиз:
<?php
$user = new User('john', 'smit');
?>
Фараз қилайлик, ўзгартувчида метод номи сақланган:
<?php
$method = 'getName';
?>
Келинг, ўзгартувчидаги ном билан методни чақирайлик:
<?php
echo $user->$method(); // 'john' чиқади
?>
Қуйидаги класс берилган:
<?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;
}
}
?>
Қуйидаги массив берилган:
<?php
$methods = [
'method1' => 'getName',
'method2' => 'getSalary',
'method3' => 'getPosition',
];
?>
Employee класси объектини яратинг
ва сўнгра унинг хоссаларига массив
элементлари орқали мурожаат қилинг.