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(); ?> |