静的変数は関数スコープ内にのみ存在します。つまり、静的変数はスタック上にのみ存在します。一般に、関数内の変数 (ローカル変数など) は関数の終了後に解放されますが、静的変数は解放されません。つまり、変数の値は次回この関数が呼び出されたときに保持されます。
変数の前にキーワード static を追加する限り、変数は静的変数になります。
リーリープログラムの実行結果:
リーリー関数test()の実行後、変数$nmの値が保存されます。
静的属性は、静的メンバーや静的メソッドなどのクラスでよく使用されます。
静的変数 $nm はクラス bkjia に属しますが、クラスのインスタンスには属しません。この変数はすべてのインスタンスに対して有効です。
:: はスコープ修飾演算子です。$this スコープの代わりに self スコープが使用されます。$this スコープはクラスの現在のインスタンスのみを表し、self:: はクラス自体を表します。
リーリープログラムの実行結果:
リーリープログラムの実行結果:
リーリーPHP には静的コンストラクターがありません。クラス定義の直後に、クラスの Demonstration() メソッドを呼び出す必要がある場合があります。
リーリープログラムの実行結果:
れーれー