Theoretical Paper
- Computer Organization
- Data Structure
- Digital Electronics
- Object Oriented Programming
- Discrete Mathematics
- Graph Theory
- Operating Systems
- Software Engineering
- Computer Graphics
- Database Management System
- Operation Research
- Computer Networking
- Image Processing
- Internet Technologies
- Micro Processor
- E-Commerce & ERP
Practical Paper
Industrial Training
PHP OOP - Static Methods
PHP - Static Methods
Static methods can be called directly - without creating an instance of a class.
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 a 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 greeting { public static function welcome() { echo "Hello World!"; } } class SomeOtherClass { public function message() { greeting::welcome(); } } ?>
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 "W3Schools.com"; } } class domainW3 extends domain { public $websiteName; public function __construct() { $this->websiteName = parent::getWebsiteName(); } } $domainW3 = new domainW3; echo $domainW3 -> websiteName; ?>