😎

PHP 動的メソッドと静的メソッドの整理

2022/03/15に公開

はじめに

ほとんどの言語には静的メソッド、動的メソッドがあると思いますが、ここでは、PHPでの記載の仕方、呼び出し方法を記載していきます。

動的メソッド

動的メソッドとは、生成したインスタンスに対して行うメソッド。インスタンス毎にメソッドの「結果」は異なる。

何のメソッドか

クラスから作成されたインスタンスのメソッド。インスタンスがないと使えない。

記載方法

class Test
{
  function douteki(){
    echo "これは動的メソッドです";
  };
}

呼び出し方

$test = new Test();
$test->douteki;

呼び出し方 同クラス内 $this->

$test = new Test();
$this->douteki;

静的メソッド

静的メソッドとは、呼び出しはクラスに対して行うクラスのメソッド。どこで呼び出しても同じ処理を行う。

何のメソッドか

上記の通りクラスのメソッド。インスタンスがなくても使用可能。クラスメソッドとも言う。

記載方法

class Test
{
  function static seiteki(){
    echo "これは動的メソッドです";
  };
}

呼び出し方

Test::seiteki();

呼び出し方 同クラス内 self::

self::seiteki();

さいごに

同クラス内で記述することも多く、$thisやselfはよく見受けられました。
単語一つひとつを理解しながら知識を蓄積してまいります。

Discussion