"When PHP V5 was released in 2004, it was a giant leap
forward compared to what PHP V4 provided in regards to
object-oriented programming (OOP) and design. It added several
needed improvements, such as class visibility, proper constructors
and destructors, type hinting, and a class-reflection API. It
opened the door for advanced objected-oriented programming in PHP,
and allowed you to implement many design patterns much easier,
along with better design classes and APIs.
"In PHP V5.3, many incremental additions have been made to
enhance OOP. These improvements have been in the realm of syntax
additions and performance improvements. To begin, let's look at the
new features available with static methods and members.
"Improved static method and member handling
One useful addition made in PHP V5 was the ability to specify a
method or member of a class as static (PHP V4 did support static
access to methods and members of class, but not the ability to
specify that the method or member is designed for static access).
Static access is especially useful for implementing the singleton
design pattern, where only one instance of class exists."