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.

>