PHP Has No Culture of Testing

Charles Nutter, a Sun engineer who has worked on the JRuby project, commented on PHP in a panel discussion at Sun's CommunityOne conference.

I will not join the "PHP vs. Ruby on Rails" "discussion" here, as the comparison of a programming language to a web application framework for another language does not make sense, IMHO. Instead, I would like to comment on two of Charles Nutter's points.

"With PHP, everyone has his or her own way of doing applications."

I think it is a good thing that the PHP community has a rich offering of framework solutions to choose from.

Although it looks like everyone and their mother is standardizing their PHP-based web application development using the Zend Framework, other component libraries such as the eZ Components and web application frameworks inspired by Ruby on Rails such as Symfony or CakePHP are thriving.

"Testing and tried-and-true design patterns are not part of PHP culture."

Yes, testing has become mainstream / popular thanks to JUnit and the Java community.

Yes, the fact that Ruby on Rails encourages test-driven development is a good thing.

Maybe it took the PHP community a little longer to realize the importance of testing. But now that we know how to build applications that "just work", are fast and scalable, as well as secure, a big topic in the PHP community right now is to implement processes and use techniques that help us assure that the software works correctly throughout the its lifecycle.

As for design patterns: Too many PHP developers are blindly using the GoF Design Patterns in PHP, even when they are not applicable. We have our own design patterns and idioms, though. Things that have no name help developers every day to write scalable code that just works.