PHP London 2008

A belated writeup on last week’s PHP London Conference. Andy’s already written a post so I don’t feel too bad!

As it turned out we split the sessions so I’ll just cover those Andy’s not mentioned. First up was Stefan Esser‘s PHP Binary Analysis. It was looking at using complied PHP bytecode to debug and audit your code. Probably of more use to people doing detailed security audits but some interesting ideas that I’d like to look into when I get a bit more time.

After lunch Marcus Bointon presented Mail(); & Life after Mail(). He started early on by quoting a blog post from Hacked:

I Knew How To Validate An Email Address Until I Read The RFC

Anyone’s who’s ever tried to send email using PHP’s mail() function will know the lengths you go to to get things working. Even then you’re probably doing it wrong. The solution is to use a library to handle all the standards compliance for you, something that symfony provides through the PHPMailer library.

Marcus went through a bunch more libraries and compared some of the features they provide so it will be interesting to look into what’s best for our needs.

More interesting for me was finding out about return paths. This is what happens when an email bounces and with a bit of server side magic it is possible to handle errors better. It’s quite a complex task to do properly so I’m interested in a good hosted service which can be used for both one shot emails like user registrations for batch mailshots. Apparently there’s a few services out there but I’ve not seen any with a really good API.

Final session I went to alone was My Framework Is Better Than Yours? presented by Rob Allen, Toby Beresford and Ian P. Christian. Each gave a short presentation on their framework of choice – Zend, Code Igniter and symfony – followed by a panel discussion. It was clear that each has its advantages and disadvantages:

  • Zend is good for components to pick and choose which aspects of a framework you need. It can often be used with other frameworks too. This can also be a downside is they’re maybe not quite as integrated as other systems.
  • Code Igniter is lightweight and some might like that it runs under PHP4. Personally I think this is a disadvantage. Someone in the audience suggested there was a way of turning on HP5 mode but I can’t believe this does more than activates a few extra features. Coding for PHP5 is an attitude shift and I don’t see how they’ve done this while retaining compatibility.
  • symfony, well I knew a bit about that already 😉 Pookey did a pretty good job of presenting it.

During the panel discussion there was a comment about the criminal use of the term MVC to describe the frameworks. It got the attention of the room and there’s quite a lot of talk about this on the interweb. My view is that it doesn’t really matter whether a framework sticks rigidly to some design pattern if it provides the features that you need. I’m interested in getting things done, not in the theory of system design.

That’s all from me – check out Andy’s summary of the other sessions.

PHPLondon Conference

The conference, as you might have guessed, was in London. It lasted one day and was scheduled to run from 9:30 until 17:00. As Mike and I were driving this meant that our conference day started at about 4:30 with Mike picking me up at 5:00. Three hours later we parked at Amersham and took the tube arriving at the venue at 9:20.

The conference took the format of dual tracks and between the two of us we covered every single one. the first talk was by Ivo Jansch of iBuildings, which focused on the adoption of PHP into Enterprise solutions and his slides can be viewed on slideshare. It was nice to see that Edge Hill Web Services team are clearly on the right track but perhaps adoption of some of the slicker testing strategies proposed would be beneficial. I’m particularly interested in taking a good look at PHPUnit, Xinc and Xdebug.

The talk by Scott MacVicar and Mike Sullivan built on Ivo’s ideas and offered some real world examples of development for Enterprise solutions but, for me, it didn’t quite deliver. Maybe it was aimed at delegates that had yet to embark on large scale enterprise applications.

In contrast the next session on SQLite3 was something I’d never come across before. The talk began with SQLite’s widespread use including Apple’s iPhone, and it certainly seemed that it was a more favourable option than using config files for small applications. In addition PHP5 ships with SQLite3 and only needs a few configuration line changes to enable it, but some forums suggest that it is not as easy as it seems.

The mid-afternoon session had two bite sized talks on testing PHP and Project Zero. The testing PHP talk was not as I had thought about testing your own PHP code but about getting involved with testing PHP source code, something I’d never thought myself clever enough to even look at, never mind actually have a go at. It seems that if you can write PHP you can write PHP tests too. If you fancy having a go have a look at the PHP-QAT site.

Project Zero is IBM’s incubator project for RESTful Web services. The demo simply looked a lot like Yahoo Pipes but I suspect that if you dig deeper there’s a whole lot more.

The whole shebang was brought to a conclusion by Derick Rethans, who spoke about his personal PHP journey. This light-hearted look at PHP again hammered home the need to focus on security and testing (it also plugged Xdebug which he wrote). You can see the slides here, but unlike other speakers his slides act mostly as a visual aid to his presentation style and don’t really reflect the quality of the content.