スコープ定義演算子について

はじめに

こんにちは、しましまです。

今回は php でよく使用するスコープ定義演算子(::)について改めて調べてみました。
細かい部分までは知らなかったので、今回調べてわかったことをまとめていきます。

スコープ定義演算子の使い方

スコープ定義演算子(::)は、定数 static プロパティ、 クラスの static メソッドや親クラスの static メソッドにアクセスできます。
クラス定義の外から参照する際には、 クラスの名前を使用する必要があります。

static キーワードについて

クラスプロパティやメソッドを static として宣言すると、クラスのインスタンスなしでも呼び出すことができます。
static として宣言されたプロパティやメソッドは、 インスタンス化されたオブジェクトの内部からも、前述した「スコープ定義演算子」 を使って呼び出すことができます。

static プロパティ

static プロパティはオブジェクト演算子 (->) を使ってアクセスすることはできないため、注意が必要です。

static メソッド

static メソッドはオブジェクトのインスタンスなしで呼び出すことができるので、疑似変数 $this を使用して、 static として宣言されたメソッドの内部から利用することはできません。

おわりに

static な要素の呼び出しについて曖昧な部分があったので、今回理解を深めることができました。
しかし「遅延静的束縛」といった単語が学習中に出てきましたが、まだ理解できていないので、
次は「遅延静的束縛」に関して調査を行う予定です。