|
static キーワードヒント
このページでは、 クラスプロパティもしくはメソッドを static として宣言することで、 クラスのインスタンス化の必要なしにアクセスすることができます。 static として宣言されたプロパティやメソッドは、 インスタンス化されたオブジェクトの内部からも :: (スコープ定義演算子) を使ってコールできます。 static メソッドstatic メソッドはオブジェクトのインスタンスを生成せずに コールすることができるので、疑似変数 $this は、 static として宣言されたメソッドの内部から利用することはできません。 警告
static でないメソッドをstaticメソッドとしてコールすると、 Error がスローされます。
PHP 8.0.0 より前のバージョンでは、
static でないメソッドをstaticメソッドとしてコールすることが非推奨になっており、
例1 static メソッドの例
static プロパティ
static プロパティは、
スコープ定義演算子
を使ってアクセスできますが、
オブジェクト演算子 (
変数を用いてクラスを参照することも可能です。
変数の値に ( 例2 static プロパティの例
上の例の PHP 8 での出力は、たとえば以下のようになります。: foo foo Notice: Accessing static property Foo::$my_static as non static in /in/V0Rvv on line 23 Warning: Undefined property: Foo::$my_static in /in/V0Rvv on line 23 foo foo foo foo |