Номи метод аз тағирёбанда дар ООП дар 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-ро эҷод кунед,
ва сипас ба хусусиятҳои он тавассути
элементҳои массив муроҷиат кунед.