Nama Metode dari Variabel dalam OOP di PHP
Secara analogi dengan nama properti dalam variabel,
nama metode juga dapat disimpan. Mari kita
lihat pada contoh. Misalkan kita diberikan kelas
User berikut dengan getter properti:
<?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;
}
}
?>
Mari buat objek dari kelas ini:
<?php
$user = new User('john', 'smit');
?>
Misalkan dalam variabel disimpan nama metode:
<?php
$method = 'getName';
?>
Mari panggil metode dengan nama dari variabel:
<?php
echo $user->$method(); // akan menampilkan 'john'
?>
Diberikan kelas berikut:
<?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;
}
}
?>
Diberikan array:
<?php
$methods = [
'method1' => 'getName',
'method2' => 'getSalary',
'method3' => 'getPosition',
];
?>
Buatlah objek dari kelas Employee,
kemudian akses propertinya
melalui elemen array.