The conference started on Friday with its first ever tutorial day. I attended the "Security" tutorial by Arne Blankerts as it's very relevant for the project I'm working on at the moment. The talk was very enjoyable, especially because for the first time someone put emphasis not only on the software security aspect, but also on the hardware and the physical access control policy. You can put all your efforts and apply all the best practices to make your software secure, but everything can vanish in a moment if anyone can access your data centre without restrictions. My colleague Marco Lopes has reviewed this tutorial in more detail in his PHPNW11 report.
The second tutorial I attended was "Maintainable Applications in PHP Using Components" by Stuart Herbert. It was his first time delivering this content and I have to say he did it in an awesome way. Despite the network connection problems we had (which delayed the tutorial a bit), we got along very well by the time everyone had their environment setup. Stuart's tutorial was full of hands-on code. This course was not only a lot of fun and laughs, but interesting content too. I'm looking forward to using Phix to create my components repository, maybe pairing its workflow with the chef-based one we are already adopting at Ibuildings. Definitely a thumbs up for Stuart's project.
Ian Barber delivered the PHPNW11 opening keynote - an inspiring talk that gave us all the motivation to get back on track and contribute more to the community.
The day continued with Ben Longden's talk on "REST and the Hypermedia Constraint: A Case Study". Ben showed us how constraints are not necessarily bad, but instead can help you improve the way you implement your software. Talking about REST, he clearly demonstrated how the Hypermedia constraint can be very useful for de-coupling the server, provisioning the information and the client consuming it, reiterating what is REST and what is a RESTful API.
Following this, I was in the mood for a bit of PHP internals - and who better than Derick Rethans to talk about them? The talk title "PHP Extensions, why and what?" as expected wasn't about how to write extensions but about what they are and how they differ from components (and why and when you should prefer them to anything else). A very insightful talk; I'm now eager to write my own extension, with a better understanding of how they can be improved and how conceptually they should be taken into account.
I started my afternoon with Alistair Stead's talk titled "Varnish your PHP application, make it fly!", trying to gather more information and key points to convince the client I'm currently working for that it's time to seriously think about replacing Squid in favour of Varnish. Alistair is probably one of my favourite speakers; he gave a very well presented talk that covered caching concepts, mechanics and how Varnish can make your life easier. The winning point for most of the audience, myself included, was showing some numbers and graphs from a real use case which left people drooling at the idea of getting the same results with a proper caching strategy implementation.
BDD is rapidly taking its place amongst the common list of developers' best practices. Ben Waine's talk titled "Acceptance & Integration Testing Using Behat" brought his experience directly from the Sky Bet company field where Behat is commonly used to coordinate BAs, testers and developers in the most effective way. The talk went through the use of Gherkin, the language Behat uses, to defining its test scenarios down to the Phabric library used to define fixtures "on the fly" - once again using Gherkin tables saving you the pain of dealing with it. It also maintains all the SQL scripts used. All in all, a lightweight, well-presented talk, good for those who are not that much into the BDD concept.
To complete the first day I attended Thijs Feryn's talk "CLI, the other SAPI". Why? Well, as a command line warrior I'm particularly interested in exploring PHP's potential as a command line tool. It emerged during the talk that using PHP from the command line is not just useful for batch processing or scripting, but also for a development tool, testing your models and your code behaviour straight from the command line - this is not to be underestimated. What I enjoyed most about the talk was Thijs' approach: he involved the audience in the talk, testing attendees' knowledge with some simple command line snippets and asking people for the expected results. This was one of my favourite talks; if you have the chance to see it in the future, don't miss it.
Day 2, Sunday, was perhaps not as good as Day 1 content-wise. In the end, I only went to two talks out of three, preferring to spend some time socialising with some of the speakers in the hotel lounge about different geeky topics.
The first talk I went to was "Feeling secure? - notes from the field" by Paul Lemon. As I'd already attended the security tutorial the day before, this was perhaps not so relevant for me. There also wasn't enough time to cover all the topics properly, so the speaker was forced to gloss over the slides rather than talk in detail.
To conclude the conference, I attended "Teaching (mostly) PHP" by Clinton Ingrams. Clinton brought his "in the field" experience about how to mentor and teach students programming, especially PHP programming in this case, presenting his teaching framework. During the presentation we debated the effectiveness of the framework and the taught concepts, as they don't necessarily reflect enterprise reality. The general idea and how he categorised the topics within his teaching module seemed reasonable, as generally keeping concepts simple and easy is important. However, I have to agree with the crowd, some of the examples seemed too simple particularly for final year university students who have already had some programming exposure.
The venue was great, ignoring the WiFi connectivity problems and the queue for the food. This was a very social event from day one, warm and funny with a horde of geeks trying to mix with "normal people" (yes, that can happen if you attend the PHPNW conference, so try not to miss it next year). The best thing about PHP conferences is knowledge-sharing; you won't leave without a hundred different thoughts and ideas of how to do things better. Once again - definitely a good time, both personally and professionally. If you weren't there, you missed out!
If you didn't make it to the conference, the PHPNW11 organisers will be releasing all the main talks from the conference as videos over the next months. Follow @phpnw11 on Twitter to be the first to hear when the videos are up.