Nama Kaedah daripada Pembolehubah dalam OOP dalam PHP
Secara analogi dengan nama sifat dalam pembolehubah,
nama kaedah juga boleh disimpan. Mari kita
lihat contoh. Katakan kita diberikan kelas
User dengan getter sifat berikut:
<?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 kelas ini:
<?php
$user = new User('john', 'smit');
?>
Katakan dalam pembolehubah disimpan nama kaedah:
<?php
$method = 'getName';
?>
Mari panggil kaedah dengan nama daripada pembolehubah:
<?php
echo $user->$method(); // akan memaparkan 'john'
?>
Diberi 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;
}
}
?>
Diberi array:
<?php
$methods = [
'method1' => 'getName',
'method2' => 'getSalary',
'method3' => 'getPosition',
];
?>
Buat objek kelas Employee,
kemudian rujuk sifatnya
melalui elemen array.