PHP - Proprietăți statice
Cuvântul cheie static creează și proprietăți statice.
Poți citi o proprietate statică direct, fără să creezi vreodată un obiect din clasa ei.
Declararea unei proprietăți statice
Declari o proprietate statică adăugându-i cuvântul cheie static:
Sintaxa declarării unei proprietăți statice
static se scrie înaintea numelui proprietății:
<?php
class ClassName {
public static $statProp = "PromptCookbook";
}
?>
Accesarea unei proprietăți statice
Citirea unei proprietăți statice are trei părți: numele clasei, două puncte duble (::) și numele proprietății.
Exemplul următor declară o proprietate statică numită $value și o afișează direct cu echo, în această formă. Nu este nevoie de niciun obiect:
Exemplu
Citește o proprietate statică prin numele clasei ei:
Ieșire: script PHP
<?php
class pi {
// proprietate statică
public static $value = 3.14159;
}
// Obținem direct proprietatea statică
echo pi::$value;
?>
Sintaxa accesării unei proprietăți statice
Forma generală pentru a ajunge la o proprietate statică:
<?php
ClassName::$statProp;
?>
PHP - Mai multe despre proprietățile statice
Proprietățile statice și cele nestatice pot exista în aceeași clasă. O metodă a acelei clase ajunge la o proprietate statică scriind self și două puncte duble (::) înaintea numelui proprietății:
Exemplu
O metodă citește o proprietate statică a propriei clase prin self:
Ieșire: script PHP
<?php
class pi {
public static $value=3.14159;
public function staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
Exemplu
Într-o clasă copil, ajungi la proprietatea statică a părintelui cu ajutorul cuvântului cheie parent. Exemplul o citește și direct, prin numele clasei copil:
Ieșire: script PHP
<?php
class pi {
public static $value=3.14159;
}
class x extends pi {
public function xStatic() {
return parent::$value;
}
}
// Obținem valoarea proprietății statice direct, prin clasa copil
echo x::$value;
// sau obținem valoarea proprietății statice prin metoda xStatic()
$x = new x();
echo $x->xStatic();
?>