PHP OOP - Statické vlastnosti
PHP - Statické vlastnosti
Statické vlastnosti lze volat přímo – bez vytváření instance třídy.
Statické vlastnosti jsou deklarovány pomocí static
klíčového slova:
Syntax
<?php
class ClassName {
public static $staticProp = "W3Schools";
}
?>
Pro přístup ke statické vlastnosti použijte název třídy, dvojtečku (::) a název vlastnosti:
Syntax
ClassName::$staticProp;
Podívejme se na příklad:
Příklad
<?php
class
pi {
public static $value = 3.14159;
}
// Get static property
echo pi::$value;
?>
Příklad vysvětlen
Zde deklarujeme statickou vlastnost: $value. Poté zopakujeme hodnotu statické vlastnosti pomocí názvu třídy, dvojtečky (::) a názvu vlastnosti (aniž bychom nejprve vytvořili třídu).
PHP – více o statických vlastnostech
Třída může mít statické i nestatické vlastnosti. Ke statické vlastnosti lze přistupovat z metody ve stejné třídě pomocí self
klíčového slova a dvojtečky (::):
Příklad
<?php
class
pi {
public static $value=3.14159;
public function
staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
Chcete-li volat statickou vlastnost z podřízené třídy, použijte parent
klíčové slovo uvnitř podřízené třídy:
Příklad
<?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();
?>