Open In App
Related Articles

Comparison between static and instance method in PHP

Improve Article
Save Article
Like Article

Static methods 
The static method in PHP is same as other OOP languages. Static method should be used only when particular data remains constant for the whole class. As an example, consider that some programmer is making the data of a college and in that every object needs getCollegeName function that returns the same college name for all objects as name of college then this function should be made static. Basically static methods are used when to access that method without the object of that class. Static method are used when there is a chance to use method without help of class objects.


// PHP code for static method
class College
    // Static function
    static function getCollegeName()
            return "MNNIT Allahabad";
// Calling function without its object
echo (College::getCollegeName());


MNNIT Allahabad


Instance Methods 
Instance method is used when there is no chance to call the method without existing of object. For example consider a College class in which getPersonName() method which returns the name of person. This method should exist only when there is a particular type of person object.


// Program for instance methods
class College
    // This data can not be accessed
    // from outside of the class
    private $name;
    // This function sets the name
    function setName($name) {
        $this -> name = $name;
    // This function return name
    function getName() {
        return $this -> name;
// Creating an object of type College
$obj = new College;
// Setting name
$obj -> setName("Geeks");
// Getting name
echo ($obj -> getName());




Comparison between instance and static methods: 

  • The static method can call without object while instance method can not be called without object.
  • The execution time of instance method is faster than static method but in the PHP version 5.3 there was a bug which says that static methods are faster in which they have introduced late binding.



// Program to compare execution time
// of static and instance methods
// Checking php version
echo 'Current PHP version: ' . phpversion();
// Creating class for static
Class St {
    public static $count = 0;
    // function that will print nothing
    public static function getResult()
        self::$count = self::$count + 1;
// For calculating time
$time_start_static = microtime(true);
// This loop will run 100000 times
for($i = 0; $i < 100000; $i++) {
// Execution time for static method ends here
$time_end_static = microtime(true);
// Execution time is end -start time
$time_static = $time_end_static - $time_start_static;
// Printing the result
echo "\nTotal execution time is for static method is: '$time_static'";
// Demo class for instance method
class Ins {
    private $count = 0;
    // Function that will not print anything
    public function getResult() {
        $this -> count = $this -> count + 2;
// Creating an instance object
$ob = new Ins;
// Starting time is initialize
$time_start_instance = microtime(true);
// For time loop is run
for($i = 0; $i < 100000; $i++)
    $ob -> getResult();
// Execution end for instance method
$time_end_instance = microtime(true);
// Total time is end-start time
$time_instance = $time_end_instance - $time_start_instance;
// Result is printed
echo "\nTotal execution time for instance method is: '$time_instance'";


Current PHP version: 7.0.32-0ubuntu0.16.04.1
Total execution time is for static method is: '0.0056149959564209'
Total execution time for instance method is: '0.004885196685791'


Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 18 Feb, 2022
Like Article
Save Article
Similar Reads
Complete Tutorials