Static properties can be accessed directly without instantiating the class.
They are declared using the static keyword.
<?php class ClassName { public static $staticProp = “W3Schools”; } ?> |
To access a static property, use the class name followed by double colons (::
) and the property name.
ClassName::$staticProp; |
Here’s an example:
<?php class pi { public static $value = 3.14159; } // Get static property echo pi::$value; ?> |
In this example, we declare a static property called $value
. We then output the value of this static property using the class name, double colon (::
), and the property name, without needing to create an instance of the class first.
A class can have both static and non-static properties. To access a static property from a method within the same class, use the self
keyword followed by the double colon (::
).
<?php class pi { public static $value=3.14159; public function staticValue() { return self::$value; } } $pi = new pi(); echo $pi->staticValue(); ?> |
To access a static property from a child class, use the parent
keyword within the child class.
<?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(); ?> |