The last two meetups of the Greater SF LAMP community that we host at Sun campus were focused around PHP development. The December one had an exciting topic on Object Oriented Design Patterns for PHP presented by Robert Gonzalez of Bay Alarm. What's interesting since I've started working with the Web 2.0 community I rarely heard the word pattern that we traditionally apply in the sw architecture, the main emphasis is on functionality and the business ideas fostering the implementation. However, with PHP 5 you can apply the Object Oriented principles and achieve an elegant application architecture, well beyond 'just getting the job done'. The speaker went over a few patterns that I'm used in the Java world, and shown examples of how to apply them in PHP. The traditional Singleton and Factory patterns were discussed. Also the Strategy Pattern was an interesting one as it encapsulates a set of algorithms that change and leaves out what doesn't change. This pattern makes encapsulated algorithms that are interchangeable. It favors composition over inheritance. A ComputerPlatform interface can have multiple implementations such as ComputerPlatform_Mac, ComputerPlatform_Solaris, ComputerPlatform_Windows that all implement a given method, but individual implementation may vary. All in all it was a great session and there are already quite a few books out there that discuss patterns with PHP as the language matures.
This month the two speakers covered NetBeans IDE and Aptana's IDE around their PHP support. So from design to implementation, if you attended both of these sessions, you're armed with all you need to create PHP applications.