php :: について自分なりにまとめてみた!

PHP
スポンサーリンク

クラス変数もしくはクラスメソッドにアクセスする際に使用されるのが「::」です。

「::」はスコープ定義演算子と呼びます。

クラス変数はstaticで宣言された変数であり、class.{変数名}という形式でアクセスすることができます。

クラスメソッドはstaticで宣言されたメソッドであり、class.{メソッド名}という形式でアクセスすることができます。

例えば以下のような感じです。

クラス変数とインスタンス変数の例

class A {
  public static $B = "クラス変数だよ";
  public $C = "インスタンス変数だよ";
}

A::$B; //クラス変数だよ

$a = new A();
$a->$C; //インスタンス変数だよ

クラスメソッドとインスタンスメソッドの例

class A {
  public static function B() {
    echo "クラスメソッドだよ";
  }

  public function C() {
    echo "インスタンスメソッドだよ";
  }
}

A::B(); //クラスメソッドだよ

$a = new A();
$a->C(); //インスタンスメソッドだよ

以上です。

PHP
スポンサーリンク
エンジニアの日記

コメント