It was always possible for php5.0 and above.
Also, it's mentioned in documentation (static)
Declaring class properties or methods as static makes them accessible
without needing an instantiation of the class. A property declared as
static cannot be accessed with an instantiated class object (though a
static method can).
Good point, though I think this (no bug) is really infamous... For example, I was reading my code, thinking that this method definition was dynamic. I was really surprised to realize it was a static method. I think this is bad, cause it might make the developer believe that the method is declared as dynamic, and though can't be accessed from outside the class without being instanciated.
@Cooluhuru, i do not think so because i am using it (helper methods that not affect to object state).
It Works for you cause they are protected.
@Cooluhuru , have you got your answer?