static は php の組み込みキーワードです。static キーワードを使用して静的メソッドとプロパティを定義したり、静的変数や遅延静的バインディングを定義したりすることもできます。
この記事の動作環境: Windows7 システム、PHP7.4 バージョン、DELL G3 コンピューター
php static とはどういう意味ですか? ?
static は、PHP の組み込みキーワードです。
静的キーワード
ヒント
このページでは、静的メソッドとプロパティを定義するための静的キーワードの使用について説明します。 static は、静的変数と遅延静的バインディングの定義にも使用できます。そこで static がどのように使用されているかについては、上記のページを参照してください。
クラスの属性またはメソッドを静的として宣言すると、クラスをインスタンス化せずに直接アクセスできるようになります。インスタンス化されたクラス オブジェクト内で静的にアクセスできます。
静的メソッド
静的メソッドはオブジェクトを通じて呼び出す必要がないため、静的メソッドでは疑似変数 $this を使用できません。
警告
非静的メソッドを静的に呼び出すと、エラーがスローされます。
PHP 8.0.0 より前では、非静的メソッドの静的呼び出しは非推奨であり、E_DEPRECATED レベルの警告が発生しました。
例 #1 静的メソッドの例
<?php class Foo { public static function aStaticMethod() { // ... } } Foo::aStaticMethod(); $classname = 'Foo'; $classname::aStaticMethod(); ?>
静的プロパティ
静的プロパティは範囲解決演算子 (::) を使用してアクセスされ、アクセスできません。オブジェクト操作による文字 ( -> ) アクセス。
変数を介してクラスを参照することは可能ですが、この変数の値を予約語 (self、parent、static など) にすることはできません
例 #2 静的属性の例
<?php class Foo { public static $my_static = 'foo'; public function staticValue() { return self::$my_static; } } class Bar extends Foo { public function fooStatic() { return parent::$my_static; } } print Foo::$my_static . "\n"; $foo = new Foo(); print $foo->staticValue() . "\n"; print $foo->my_static . "\n"; // 未定义的 "属性" my_static print $foo::$my_static . "\n"; $classname = 'Foo'; print $classname::$my_static . "\n"; print Bar::$my_static . "\n"; $bar = new Bar(); print $bar->fooStatic() . "\n"; ?>
PHP 8 での上記のルーチンの出力は次のようになります:
foo foo
注意: 23 行目の /in/V0Rvv で静的プロパティ Foo::$my_static に非静的としてアクセスしています
警告: 未定義のプロパティ: Foo::$my_static (/in/V0Rvv の 23 行目)
foo foo foo foo
推奨学習: 「PHP ビデオ チュートリアル 」
以上がphp 静的とはどういう意味ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。