I was at PHP London on Friday so it’s time to get writing again …
What caught my interest initially about the day was the opening talk on Enterprise PHP; as I work with Enterprise Java, which tends to be a heavyweight development approach, I’ve been giving a fair amount of thought to what comes next … is it Ruby on Rails, JRuby on Rails, Django and Jython, Groovy? Too many to choose from. I’ve started with PHP (keeping one eye on JRuby) because I think it’s hard to beat for getting going quickly and it’s mature. With PHP5’s OO support it is now gaining credibility as a “proper” language … also the syntax makes it easy for Java developers to pick up.
So it turns out that Enterprise PHP development is going on outside of Yahoo!, and Ivo Jansch from ibuildings described a familiar Software Development Lifecycle. Because of a clash with the PHP frameworks comparison, I couldn’t attend the later talk on IBM’s Project Zero, but this is an intriguing mix of Java and PHP technologies which might interest some Java development shops.
Marcus Bointon gave an accomplished talk about the intracies and subtleties of handling mail. Marcus is the architect for smartmessages.net, which handles 1M legitimate e-mail messages per day. Unfortunately, book publishers have so far been less than keen for him to share his experience with others. Key points from Marcus’s talks:
- Don’t use mail() – if you do you’re probably doing the hard stuff yourself; better to use one of available libraries
- Both PHPMailer and Zend_Mail are decent options (Marcus does support for the former)
- ezComponents “tries to do everything”, and has a deeper notion of MIME so can do arbitrary nesting
- Alexandria from OmniTI keeps it simple, and has a unique feature of supporting asynchronous SMTP queueing thorugh a PHP extension
- If you’re sending to one message to one recipient, use the To: field, but don’t include more than one recipient; for multiple recipients use the Bcc: field, and set the To: field to something sensible (e.g. sender’s address)
- Most regexes reject some valid e-mail addresses: this Linux Journal article, and E-mail validator can help you to get it right
- Use VERP for handling bounces
The consensus seemed to be that Symfony is a relatively heavyweight framework, and difficult to pick up quickly, but is supported by Yahoo. Zend’s main advantages are the company behind it, and that you can pick and choose which bits you want to use (and mix with other libraries), which will allow organisations to adopt it gradually. CodeIgniter is small, fast and simple to use … great for mashups but may not be so appropriate for enterprise use; there was also some discussion on its longeivity.
Derek Rethans delivered the wrap-up keynote, and covered a wide range of areas which left me with a few things to look at, including Suhosin and the Xdebug extension for code coverage analysis when unit testing.
Overall it was a worthwhile day away from the office, with some enjoyable speakers and the food was pretty decent too.