On static methods, we use “self” to access static properties and methods. The problem is that the “self” keyword determines the calling class on compile time. It will always resolve to the class in which it is defined. So in the code below, Electric_Car::getBrand() will always return Toyota instead of Tesla.
The Solution: static keyword
PHP introduce the static keyword on methods to get the calling class on run time.