# 推奨: 「php 静的メソッドとは、PHP で static キーワードを使用して静的メソッドと属性を定義することを指します。静的は、静的変数と遅延静的バインディングの定義にも使用できます。その使用構文は次のようになります。「public static $my_static」 = 'ふー';"。
PHP チュートリアル 」
静的 (静的) キーワード
このページでは、静的メソッドとプロパティを定義するための static キーワードの使用について説明します。 static は、静的変数と遅延静的バインディングの定義にも使用できます。 クラスの属性またはメソッドを静的として宣言すると、クラスをインスタンス化せずに直接アクセスできるようになります。インスタンス化されたクラスのオブジェクトを介して静的プロパティにアクセスすることはできません (ただし、静的メソッドはアクセスできます)。 PHP 4 との互換性を保つために、アクセス制御が指定されていない場合、プロパティとメソッドはデフォルトで public になります。 静的メソッドではオブジェクトを呼び出す必要がないため、疑似変数 $this は静的メソッドでは使用できません。 静的プロパティには、オブジェクトから -> 演算子を使用してアクセスできません。 非静的メソッドを静的に呼び出すと、E_STRICT レベルのエラーが発生します。 他のすべての PHP 静的変数と同様、静的プロパティは式ではなくリテラルまたは定数にのみ初期化できます。したがって、静的プロパティは整数または配列に初期化できますが、別の変数や関数の戻り値に初期化したり、オブジェクトを指すことはできません。 PHP 5.3.0 以降、変数を使用してクラスを動的に呼び出すことができます。ただし、この変数の値をキーワード self、parent、または static にすることはできません。 例 #1 静的プロパティの例<?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"; // Undefined "Property" my_static print $foo::$my_static . "\n"; $classname = 'Foo'; print $classname::$my_static . "\n"; // As of PHP 5.3.0 print Bar::$my_static . "\n"; $bar = new Bar(); print $bar->fooStatic() . "\n"; ?> </programlisting> </example> <example> <title>静态方法示例</title> <programlisting role="php"> <![CDATA[ <?php class Foo { public static function aStaticMethod() { // ... } } Foo::aStaticMethod(); $classname = 'Foo'; $classname::aStaticMethod(); // 自 PHP 5.3.0 起 ?>
以上がphpの静的メソッドとは何を指すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。