PHP ООП — статические свойства
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();
?>