PHP 静的キーワード

WBOY
リリース: 2016-06-23 14:30:11
オリジナル
1014 人が閲覧しました

static キーワード

クラスのメンバーまたはメソッドを static として宣言すると、クラスをインスタンス化せずに直接アクセスできます。静的メンバー (静的メソッドを除く) には、オブジェクトを通じてアクセスできません。

PHP4 と互換性を持たせるため、「可視性」が指定されていない場合、プロパティとメソッドはデフォルトで public になります。

静的メソッドはオブジェクトを通じて呼び出す必要がないため、疑似変数 $this は静的メソッドでは使用できません。

-> 演算子を使用してオブジェクトから静的プロパティにアクセスすることはできません。

:: メソッドを使用して非静的メソッドを呼び出すと、E_STRICT レベルのエラーが発生します。

他のすべての PHP 静的変数と同様、静的プロパティは文字値または定数にのみ初期化でき、式は使用できません。 したがって、静的プロパティを整数または配列に初期化することはできますが、別の変数や関数の戻り値、またはオブジェクトを指すことはできません。

PHP5.3.0 以降では、変数を使用してクラスを動的に呼び出すことができます。ただし、この変数の値をキーワード self、parent、または static にすることはできません。

例 #1 静的メンバー コードの例

class Foo
{
public static $my_static = 'foo';

public function staticValue() {
return self::$my_static;
}
}

class Bar は Foo
{
public function fooStatic() {
returnparent::$my_static;
}
}


print Foo::$my_static . " ";

$foo = new Foo(); を拡張します。
print $foo->staticValue() . " ";
print $foo->my_static . " "; // 未定義の "プロパティ" my_static

print $foo::$my_static . 'Foo';
print $classname::$my_static . " "; PHP 5.3.0 以降では、

print Bar::$my_static を動的に呼び出すことができます。 " ";
$bar = new Bar();
print $ bar->fooStatic() . " ";
?>

例 2 静的メソッドのコード例

class Foo {
public static function aStaticMethod() {

}

フー::aStaticMethod();
$classname = 'Foo';
$classname::aStaticMethod(); // PHP 5.3.0 以降

出典: http://www. /php/83.html

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート