As promised, here’s a more in-depth update on our trip to the PHP London Conference last week. I’m sure there are others who will write more fluently and accurately about the talks, but here’s what I brought home from it.
Cal Evans: My First Mashup
Cal is a personal hero of mine, as I said earlier, so I was really looking forward to his talk. He did a simple mashup of two APIs which tracked a UPS package to its destination on a Google Map. He used APIs from both companies and had a working demo to show.
Although he showed JSON and XML data formats, he mostly seemed to be using XML and had some good things to say about the SimpleXML functions now in PHP 5. For making the API calls he used script.aculo.us.
From the talk I came away with a clear picture of how a mashup goes together and a sense of confidence that when a project comes along for me that needs it I’ll just dive right in. I saw the whole API idea in action when writing PlayTAG for the PHP Throwdown. Cal also pointed us at http://www.programmableweb.com/ which looks like a good resource.
Simon Laws: Web Services
Simon was talking about a project he and his colleagues have been working on to create consumable services, which followed on nicely from Cal’s talk. The project is a PECL module and their page is at www.osoa.org, its good to see business contributing so nicely to the community.
The idea of the project is that you can write some class-based functionality and then expose that to be called as a service by some external script. It was interesting and the talk was well-prepared with demonstrations and code snippets all at different points along the development that Simon walked us through. My personal favourte moment was him typing “phuk” rather than “phpuk” into a sample input … perhaps that just my twisted sense of humour. One thing that really impressed me was that they had spent a lot of consideration about making different formats available and providing various bindings for accessing the services. Some of that information about what’s available for what type of service is held in phpDocumentor-style comments at the moment but it could easily be generated as a static companion file or something further along the line.
Best of all was getting to catch up with Simon and his colleague Caroline (a PHP Women friend of mine) at the event after the conference and ask them a bit more about their job. They were both interesting and friendly people.
Kevlin Henney: Objects of Desire
Kevlin was very brave to come and speak as he’s not a PHP-er himself most of the time (or so he claimed). He was talking about the PHP implementation of Object Oriented Programming in comparison with other languages including Java and C++. His talk was based around a series of questions and he was a very entertaining speaker.
His perspective of coming from a wider background than just the single language was very interesting and I did feel that it gave a much more balanced perspective on the topic. The talk was based on answering a series of questions and this worked very well. In particular he was talking about unintended properties of objects and illustrated this by showing that his bottle of cough mixture had the property “throwable”, as it was quite small and aerodynamic … I did warn you he was entertaining :)
Rasmus Lerdorf: Fast and Rich Web Applications with PHP 5
Rasmus Lerdorf is the godfather of PHP and a nice guy. I’ve heard him on podcasts, own some of his many books, and have even corresponded on forums with him but not seen him in the flesh before so this was interesting. He was talking about PHP5 and then went on to answer quite a few questions which was very interesting. At the beginning there was a problem with the wireless in the venue and he raised a smile around the room by putting up a slide which showed photographs of:
- a ship in the Mediterranean
- a field in India
- a mountain in Cambodia
And then explained that these are all places where he has given talks and wireless internet access had been arranged … we were in Central London!!
Rasmus talked about the movement to PHP5 and adopter rates and barriers. He recommended using the Filter functionality in PHP for all input variables and gave some good examples. His other recommendations included making use of the static keyword where appropriate to prevent unexpected usage or extension of methods, and also use of the -l switch for checking PHP4 code prior to deployment for PHP5.
Conclusion
For an even costing £50 and organised by volunteers it was an excellent day! There was coffee available at every turn and lunch was provided, they certainly knew how to take care of geeks. Attending the pre- and post-event socials definitely led us to get more out of the whole experience and meet some very interesting people. It was well worth the effort and I’d certainly recommend this to anyone interested in PHP for next year.