PHP OOP - Static Methods

PHP OOP - Static Methods

Static methods can be called directly - without creating an instance of the class first. Static methods are declared with the static keyword:

  •       
                            <?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:

    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
    class greeting {
        public static function welcome() {
        echo "Hello World!";
        }
    }
    
    // Call static method
    greeting::welcome();
    ?>
                        

    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 (::):

    `
    `
  •       
                            <?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:

    `
  • `
          
                            <?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.

    `
  •       
                            <?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;
    ?>
                        

    Dess App

    DessApp is an Integrated E-learning Education, Interactive and User-friendly features, smarter options and redefining your school costs effectively and efficiently.

    View
    1 1