PHP Conference Berlin Wrap-up

Last week the International PHP Conference (short IPC) took place in Berlin. It’s one of the biggest PHP conferences in Germany. I attended for the second time and wanted to share my experiences. First of all the conference was well organized with good catering and interesting talks. There were two other conferences, the Webinale and the RailsWayCon so you could also visit one of their talks if you wanted to. To my (only) disappointment, three talks were cancelled on short notice, which all looked quite interesting for me.

I started the first day with Ulf Wendel’s (Oracle) talk about the PHP extension mysqlnd_ms that supports clustering for MySQL. It also saves a lot of client side code because read-write splitting or load balancing is already integrated. This extension will be default in PHP 5.4 and is definitely worth a look. Ulf is an absolute expert in his topic. I can recommend attending his talks whenever you get the chance.

The IPC Welcome Session followed just afterwards with Thomas Wießeckel (S&S Media) and Pierre Joye (Microsoft) who is one of the PHP core developers. Pierre talked about how the community can participate in the PHP ecosystem. They are aware of the barriers that existed in the past but have moved forward. Examples are an easier decision process for feature requests and the move to GitHub. It’s now easier then ever to contribute with bug reports, feature requests or documentation.

Jesper Richter-Reichhelm (Wooga) talked about the evolution of their backend technologies. Starting off with a classic LAMP setup, they tried Ruby, Redis and Erlang. He highlighted the importance of DevOps to make code production ready from the beginning.

In another case study the rewrite of wetter.com was presented. Gaylord Aulke and Andreas Streichardt (100 Days GmbH) shared their experiences with Symfony 2, nginx, PHP 5.4 and Varnish. It was their first Symfony 2 project and after a high learning curve they really fell in love with it, especially with Twig (the template engine). Varnish as reverse proxy was a great help to reduce load from their webservers. Most of the requests are served from the cache. They mentioned that Varnish was difficult to debug though.

The last session of the day was a discussion panel about frameworks. Derick Rethans moderated (very well) and Matthew Weier O’Phinney (Zend Framework), Lukas Smith (Symfony) and Robert Lemke (Flow 3) were in discussion. I liked that the audience could ask questions via Twitter that were directly visible for everyone. It was a very diplomatic and peaceful discussion so no flaming or religious wars.

The second day began with Stefan Priebsch (thePHP.cc). I liked his talk about Experimental tests and how you can implement them object-oriented without using if-else statements all over the place. He pointed out that you need a good architecture with dependency injection to get this working. If you don’t have a framework solution for this you can also build this yourself e.g. with master/child factories.

Sara Golemon (Facebook) showed HipHop and XHP. There wasn’t really anything new that she could talk about so the questions and answers afterwards were more interesting for me. On the GitHub profile there is not so much activity recently. It’s because HipHop is developed internally and only releases are pushed to GitHub. There is a new version in development. Sara agreed that the communication isn’t good at the moment.

I can recommend going to David Zühlkes talks. They are always fun to follow and rich of information. He showed the difference between REST and HTTP and pointed out bad and good practices. Matthew Weier O’Phinney gave a short intro into Zend Framework 2. It’s definitely a change from the first version: Different folder structure, no ZF tool and lots of new concepts (event based, DI container and service manager).

The last day was kind of slow. Maybe this was due to the Conference party the night before. If there aren’t specific sessions you want to see, I can recommend not booking the third day. I followed some QA talks starting with Sebastian Bauer (inovex GmbH) about Regression tests. He motivated me to have a look again at Behavior Driven Development with behat.

Jakob Westerhoff talked about testing in the JavaScript world with js-test-driver and Sinon.js. Sinon.js looks pretty nice so if you write unit tests in JavaScript (which you should do) this might be a help. The last talk was about Continuous Performance by Manuel Pichler and Kore Nordmann. They suggested using JMeter instead of AB.

Apart from the talks this conference is always a good opportunity to meet other guys from the community. I enjoyed my time in Berlin and hope to be back next year.

Additional Links: