Static vs Non-static methods in PHP: what is faster?
Posted by Stanislav Furman on May 4, 2014Some theory
As you know there are two types of methods in PHP classes: static and non-static. To be called a non-static method needs an instance of its class, and static method can be called without instantiating of the class.
In the meantime there are two very common questions:
- When to use non-static methods and when to use static methods?
- Is there any performance difference between static and non-static methods?
These are very common dilemmas among PHP developers. Most of developers guess that static methods must work faster because there is no object instance with all its properties involved to the call. Sounds logical. Is that actually true?
As I already mentioned above, and as you already know, the main difference between static and non-static metods is that static methods do not need an instance of the class to be called in the code. It means that for static methods there is no need to create object and keep in the memory. So, at least we can save some memory which can also affect the performance? Hmmm... we'll see...
So, it's time to do some very simple experiments for further analysis.
Continue reading