1
0

More than 3 years have passed since last update.

可変変数と可変関数 (PHP)

Posted at

可変変数

変数を要いて、変数を動的に変える。

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'); // ふがです。まだ聞いたことがない人もいると思うので、よろしくお願いします。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0