Last month, I delivered my Beyond Frameworks talk at PHP UK 2011. The talk is all about the challenges that the framework-using members of the PHP community are going to face as major framework upgrades (such as Zend Framework 2 and Symfony 2) are released, and a clear strategy on what you can do to minimise these challenges in the future: build more components, don’t put all your eggs into the frameworks basket.
If you didn’t make it to my talk at PHP UK 2011, the video of the talk is now available online:
You can find the slides up on Slideshare.net:
and you can download the slides as a PDF too.
(Btw, don’t forget to check out all the talks from PHP UK 2011 too …)
Thank you to everyone who left comments about my talk on joind.in. I thought it would be useful to post some answers to some of the comments.
- I would have loved to have had time to show you how to convince your own managers of the advantages of changing architectures for the future. Not quite sure how to do that in a lecture. Might be an interesting follow-up to do at a few PHP user groups?
- I had one commenter note that the talk spent too long explaining what a component is, whilst another commenter wished I’d provided more detail. I did test an earlier version of the talk before the conference (many thanks to everyone at #phpsw for that!), one that included code examples. The talk seemed to work best by focusing into the principles behind good components, and blog posts seemed to be the right place to get into example code.
- Frameworks don’t suck, it’s just that you have to understand the costs involved in using a framework if your code has to live for years and years like ours does. With the need for PHP frameworks to mature and innovate, and with the way that the labour market trends shift, at some point you could find that your code has to outlive your framework of choice. That’s what happened with us. If you don’t maintain software products, which is probably the majority of the community today, then you’ve nothing to worry about either way :)
I mentioned code examples above, and they’re coming in my next blog post :)