PHP OOP — właściwości statyczne
PHP — właściwości statyczne
Właściwości statyczne można wywoływać bezpośrednio — bez tworzenia instancji klasy.
Właściwości statyczne deklarowane są za pomocą static
słowa kluczowego:
Składnia
<?php
class ClassName {
public static $staticProp = "W3Schools";
}
?>
Aby uzyskać dostęp do właściwości statycznej, użyj nazwy klasy, podwójnego dwukropka (::) i nazwy właściwości:
Składnia
ClassName::$staticProp;
Spójrzmy na przykład:
Przykład
<?php
class
pi {
public static $value = 3.14159;
}
// Get static property
echo pi::$value;
?>
Przykład wyjaśniony
Tutaj deklarujemy właściwość statyczną: $value. Następnie powtarzamy wartość właściwości statycznej, używając nazwy klasy, podwójnego dwukropka (::) i nazwy właściwości (bez wcześniejszego tworzenia klasy).
PHP - Więcej o właściwościach statycznych
Klasa może mieć zarówno statyczne, jak i niestatyczne właściwości. Dostęp do właściwości statycznej można uzyskać z metody w tej samej klasie za pomocą self
słowa kluczowego i podwójnego dwukropka (::):
Przykład
<?php
class
pi {
public static $value=3.14159;
public function
staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
Aby wywołać właściwość statyczną z klasy potomnej, użyj parent
słowa kluczowego wewnątrz klasy potomnej:
Przykład
<?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();
?>