PHPOOP-静的プロパティ
PHP-静的プロパティ
静的プロパティは、クラスのインスタンスを作成せずに直接呼び出すことができます。
静的プロパティは、次のstatic
キーワードで宣言されます。
構文
<?php
class ClassName {
public static $staticProp = "W3Schools";
}
?>
静的プロパティにアクセスするには、クラス名、二重コロン(::)、およびプロパティ名を使用します。
構文
ClassName::$staticProp;
例を見てみましょう:
例
<?php
class
pi {
public static $value = 3.14159;
}
// Get static property
echo pi::$value;
?>
例の説明
ここでは、静的プロパティ$ valueを宣言します。次に、クラス名、二重コロン(::)、およびプロパティ名(最初にクラスを作成せずに)を使用して、静的プロパティの値をエコーします。
PHP-静的プロパティの詳細
クラスは、静的プロパティと非静的プロパティの両方を持つことができます。self
静的プロパティには、キーワードと二重コロン(::)を使用して、同じクラスのメソッドからアクセスできます。
例
<?php
class
pi {
public static $value=3.14159;
public function
staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
子クラスから静的プロパティを呼び出すには、子parent
クラス内でキーワードを使用します。
例
<?php
class
pi {
public static $value=3.14159;
}
class x extends pi {
public function xStatic() {
return
parent::$value;
}
}
// Get value of static property
directly via child class
echo x::$value;
// or get value of static property via xStatic()
method
$x = new x();
echo $x->xStatic();
?>