PHP スコープ定義演算子(::)について

::(スコープ定義演算子)のスコープについて簡単にまとめました。 公式の説明はこちら

クラス名::

クラス名::とすると、明示したクラスがスコープとなります

self::

self::とするとself::を記入したクラス自体がスコープとなります

parent::

parent::とするとparentを記入したクラスの親クラスがスコープとなります

static::

static::とすると直近の非転送コールのクラスがスコープとなります。非転送コールとはクラス名::関数名()や$オブジェクト名->関数名などのクラス名やオブジェクト名が明示的な呼び出しのことです。逆に転送コールとはself:: parent:: static:: などによる非明示的な呼び出しのことを言います。

static::のスコープについて