class t {
public function tt()
{
echo 1;
}
}
t::tt();
See?The non-static function can also be called at class level.So what\'s
A main difference that has not been mentioned relates to polymorphic behavior.
Non static methods, when redeclared in a derived class, override the base class method, and allow polymorphic behavior based on the type of the instance they are called on. This is not the case for static methods.
PHP 5.3 introduced the concept of late static binding which can be used to reference the called class in a context of static inheritance.