The first day was spent in an introduction to Symfony workshop led by Jakub Zalas. It took a little while for everyone to get set up, conference wifi never is very reliable, but the day was a great introduction to a really interesting framework. Jakub clearly explained the basic MVC architecture, routing, templating with Twig and forms. Symfony’s approach to annotations, where configuration is specified in docblock comments, initially had me a bit doubtful but I saw the benefits of the approach by the end of the day. Keeping configuration next to the code that’s related to it (for example specifying the route in an annotation above the controller) seems a good approach. Symfony caches the hell out of everything anyway, so annotations don’t come with any real world performance issues. I also liked Symfony’s robust error reporting and debug toolbar which I can see being really helpful in development. Jakub answered all my difficult questions very well, such as how do you ensure routes don’t override eacother if they are loaded dynamically (it’s based on source order) and by the end of the day I felt I had a good grasp of Symfony fundamentals.
The main conference talks were on the second day. The conference was a little slow to start, I think because various people were switching rooms to choose between the two strands but the day progressed well. My first talk highlight was Lars Janssen who talked about “A year with Symfony”. His talk covered the experience of using Symfony from scratch, the issues his team encountered and the benefits they have found with Symfony. For me, it was a fascinating insight into what it’s like to use the framework for the first time on a large project.
Marcello Duarte and Konstantin Kudryashov did a joint talk on “The Framework as an implementation detail”. I’ve heard Marcello talk before (we’ve also had him at Studio 24 for training) and the talk was a pleasure. Both speakers worked really well together, energetically bouncing ideas from one to another. The talk was about Test Driven Design, how to decouple a Symfony application and moved on to some really interesting stuff around hexagonal architecture.
There was a talk by Dustin Whittle on the micro-framework Silex, while it was a good introduction I left wondering what use cases you would really want to use a micro-framework rather than just the actual full Symfony framework. The example of a simple REST server seemed a nice idea, but I would lean towards using a full framework for most work especially since the performance gains aren’t apparently that large.
The conference was closed by the “créateur de Symfony” Fabian Potencier. His talk was on a new feature of Symfony 2.4, Expression language, which allows for some simple business logic in annotations. My intial thougt was this seems a step too far for annotations, adding complexity where it would be better placed in pure PHP. But many of the use cases Fabian described were good ones and it’s certainly interesting to see how some people are solving these problems in elegant ways in PHP frameworks.
Overall the two days were a really interesting learning experience and the Symfony community are a really nice bunch of people to chat to. I met people from across Europe who are using Symfony in various different ways. It was interesting to hear different people’s perspectives on web development and the challenges they face. And how Symfony appears to be making their lives easier!
Photos from Symfony Live are copyright SensioLabs UK.