Jack Herrington, Senior Software Engineer “Code Generation Network”, have written a very interesting article at IBM DeveloperWorks about Going dynamic with PHP and exploring the OO advantages of PHP5 features.

The introduction of new object-oriented programming (OOP) features in PHP V5 has significantly raised the level of functionality in this programming language. Not only can you have private, protected, and public member variables and functions — just as you would in the Java™, C++, or C# programming languages — but you can also create objects that bend at runtime, creating new methods and member variables on the fly. You can’t do that with the Java, C++, or C# languages. This kind of functionality makes super-rapid application development systems, such as Ruby on Rails, possible.
Before I get into all that, however, here’s a word of caution: This article is about the use of very advanced OOP features in PHP V5 — the kind of features you won’t necessarily need in every application. Also, the kind of features that will be difficult to understand if you don’t have a solid grounding in OOP and at least a beginner’s knowledge of PHP object syntax.