PHP クラスのメンバー変数またはメソッドにアクセスするとき、参照される変数またはメソッドが const (定数の定義) または static (静的宣言) として宣言されている場合は、演算子::, を使用する必要があります。参照される変数またはメソッドが const または static として宣言されていない場合は、演算子 -> を使用する必要があります。
さらに、クラス内から const または static 変数またはメソッドにアクセスする場合は、自己参照の self を使用する必要があります。
逆に、クラス内から非 const または static 変数またはメソッドにアクセスする場合は、自己参照を使用する必要があります。クラスの場合は、自己参照 $this を使用する必要があります。
結論: self と $this の機能は非常に似ていますが、異なります。 $this は静的メンバーと定数を参照できません。 self はクラス自体に似ており、$this はインスタンスそのものに似ています。