PHP – Static Methods
Static methods can be called directly – without creating an instance of the class first.
Static methods are declared with the static
keyword:
Syntax
<?php class ClassName { public static function staticMethod() { echo "Hello World!"; } } ?>
To access a static method use the class name, double colon (::), and the method name:
Syntax
ClassName::staticMethod();
Let’s look at an example:
Example
<?php class greeting { public static function welcome() { echo "Hello World!"; } } // Call static method greeting::welcome(); ?>
Example Explained
Here, we declare a static method: welcome(). Then, we call the static method by using the class name, double colon (::), and the method name (without creating an instance of the class first).
PHP – More on Static Methods
A class can have both static and non-static methods. A static method can be accessed from a method in the same class using the self
keyword and double colon (::):
Example
<?php class greeting { public static function welcome() { echo "Hello World!"; } public function __construct() { self::welcome(); } } new greeting(); ?>
Static methods can also be called from methods in other classes. To do this, the static method should be public
:
Example
<?php class A { public static function welcome() { echo "Hello World!"; } } class B { public function message() { A::welcome(); } } $obj = new B(); echo $obj -> message(); ?>
To call a static method from a child class, use the parent
keyword inside the child class. Here, the static method can be public
or protected
.
Example
<?php class domain { protected static function getWebsiteName() { return "iampsp.com"; } } class domainW3 extends domain { public $websiteName; public function __construct() { $this->websiteName = parent::getWebsiteName(); } } $domainW3 = new domainW3; echo $domainW3 -> websiteName; ?>