可変変数
変数を要いて、変数を動的に変える。
class ClassName
{
private $hoge = 'ほげ';
private $fuga = 'ふが';
public function say(string $name = 'hoge')
{
echo "{$this->$name}です。よろしく。";
}
}
$class = new ClassName;
$class->say('hoge'); // ほげです。よろしく。
$class->say('fuga'); // ふがです。よろしく。
可変関数
動的に呼び出す関数(メソッド)を変える。
class ClassName
{
private $hoge = 'ほげ';
private $fuga = 'ふが';
public function say(string $name = 'hoge')
{
$method = "say$name";
$this->$method();
}
private function sayHoge()
{
echo "{$this->hoge}だよ。みんな一度は聞いたことあるよね!!";
}
private function sayFuga()
{
echo "{$this->fuga}です。まだ聞いたことがない人もいると思うので、よろしくお願いします。";
}
}
$class = new ClassName;
$class->say('hoge'); // ほげだよ。みんな一度は聞いたことあるよね!!
$class->say('fuga'); // ふがです。まだ聞いたことがない人もいると思うので、よろしくお願いします。