Skip to main content

php|tek 09 - Overview of an awesome conference

For those who just returned from outer-space, last week was PHP|Tek 09 in Chicago, IL, USA. By far the most intensive PHP conference ever, organized by PHP|Architect, the true PHP magazine. I give here my experiences as I have recorded them during these very intense days.

Tuesday, May 19
As it is common with many (PHP) conferences, the first day is often a tutorial day, where you get 3 hours of high quality tutorials given by the great minds within the PHP community.

I attended Ed Finkler's session on MVC development in PHP where he talked about the best practices on implementing MVC and what the differences were between several frameworks.

After lunch I headed out to PHP Code Review given by Stefan Priebsch, Sebastian Bergmann and Arne Blankerts, all three co-founders of the PHP Consulting Company.

Wednesday, May 20
Andrei Zmievski opened the conference with a very impressive key note about PHP 6 (after he could free himself being tied up in a dark room by Marco Tabini).

Cal Evans impressed us about using Zend Framework for CLI development explaining clearly how you can use the power of Zend Framework to kick of applications on your command line. Go Cal !

During the day I missed a couple of sessions because I had very interesting talks with other people there at the conference, but I managed to be back in time to watch Elizabeth M. Smith talk about SPL to the Rescue (a topic that I like so much, I'm going to talk about it myself at the Dutch PHP Conference). She did an amazing job explaining why one should use SPL in the first place and even got people motivated to help improve today's documentation of SPL on website.

If you want to do unit testing on your (PHP) code, you must ensure you code is testable. Sebastian Bergmann has given a great session on Untestable Code, or which are the things you need to think about when writing code so it can be tested.

In the evening I was hosting an uncon session about PHPUnit testing and Zend_Test where I described the various ways to optimize your tests, how to test databases and how to test your Zend Framework application.

Thursday, May 21
If you wanted to know what's included in the PHP 5.3 releases, you should have attended Sara Golemon's session PHP 5.3 - Hot or Not ? where she actually gives you more insight great features that have been added to the PHP 5.3 releases, besides namepsaces.

For all those new to Linux, check out Linux-Fu given by Lorna Mitchel where you get an explenation about the tools that are really useful on your command line. Also good if you don't use a mouse.

Eli White has given us more insight in the fundamentals of software development with his session The Knight Rider Methodology to Software Development where he's comparing situations that Michael Knight and KIT were in with situations software developers come accross.

Lorna Mitchel and Stefan Koopmanschap gave us more insight into the community behind php with their session A Guide to Using and Understanding the Community. Since this talk was so great, they repeated this session on Friday for recording purposes.

During the uncon sessions I was hosting a round table discussion about PHP user groups and what can be done to draw more attention to these user groups, how to start up with one or how to restart a dorment user group. Getting lots of feedback, I'm going to add all this information into a presentation that can be called the 101 on php user groups. Also keep an eye out for Clark Everetts website about this session, because he has written down lots of stuff.

Friday, May 22
Closing keynote was provided by Terry Chay, the guru of explicit presentations. Since you know you're in for a treat, people were counting Terry's f-bombs while enjoying his talk. A video recording was made so you can count f-bombs and enjoy the show yourself as well.

Immediately afterwards I attended an uncon session from Paul M. Jones about Benchmarking PHP Applications where Paul made a great comparison between frameworks and franchising your business. Awesome presentation and I'm looking forward attending more sessions of Paul.

Closing the conference, I hosted my last uncon session about implementing Continuous Integration step-by-step, where I discussed the common situations all developers have seen leading towards an automated integration system using the tools best fitted to do the job.

Final notes on this conference
This was the best PHP conference ever, where talks were given targeting intermediate to high levelo developers, awesome catering and lots of fun after-hours. I want to express my great gratitude to all that were responsible organizing this event and I'm looking forward attending next conferences.

If you weren't there, I want to suggest attending next year's conference. You learn so much in the mids of everyone who's involved with PHP core, PHP applications or PHP services. If you can't get an answer there, don't bother become a PHP developer.


  1. Thanks for the wrap-up, you saved me some time of extracting the relevant :)

  2. The user group presentation/roundtable was great. I'm going to try to organize a ZCE study group for ours, hoping to bring in some new members who can't make the normal meetings.

  3. Excellent summary of the conference. It was SO hard to choose which session to attend. The uncon sessions were high-quality, too. Best PHP conference I've ever attended.


Post a Comment

Popular posts from this blog

PHP Arrays - Associative Arrays or Hash Maps

Associative array or hash maps are listings of key and value pairs with a posibility to nest additional keys and values. An associative array is a very powerful construct within PHP.

In our previous article we discussed simple arrays, which in their turn are indexed associative arrays under the hood. Take the following example:

$array = [

Is in fact an indexed associative array under the hood:

$array = [
0 => 'apple',
1 => 'banana',
2 => 'chocolate',

But associative arrays can be so much more than just an indexed array, and you will find many database operations returning arrays where the fields of a table are the keys in the array while their values are also the values within the array.

$productRowData = [
'product_id' => 1234,
'brand_id' => 321,
'product_name' => 'Our awesome product',
'prodcut_description' => 'This is our most awesome product.&#…

Speeding up database calls with PDO and iterators

When you review lots of code, you often wonder why things were written the way they were. Especially when making expensive calls to a database, I still see things that could and should be improved.
No framework development When working with a framework, mostly these database calls are optimized for the developer and abstract the complex logic to improve and optimize the retrieval and usage of data. But then developers need to build something without a framework and end up using the basics of PHP in a sub-optimal way.

$pdo = new \PDO( $config['db']['dsn'], $config['db']['username'], $config['db']['password'] ); $sql = 'SELECT * FROM `gen_contact` ORDER BY `contact_modified` DESC'; $stmt = $pdo->prepare($sql); $stmt->execute(); $data = $stmt->fetchAll(\PDO::FETCH_OBJ); echo 'Getting the contacts that changed the last 3 months' . PHP_EOL; foreach ($data as $row) { $dt = new \DateTime('2015-04-…

Practical example: building a social sharing platform

Documenting your project upfront requires time and research, but gives enormous amount of insights and knowledge for the whole team to advance with.

In this article we're continuing where we left off my previous article "Documentation of a project" by providing examples for the documentation focus areas I explained and we're also making sure that we're not tumbling down a rabbit hole where specs are written in stone and we're building this project in a waterfall way.

The Hotbrewd project For this particular example I've chosen a project that has a couple of interesting challenges. It's a social media platform (lots of users) where people can check in their beverage at a specific location or establishment (geolocation), upload photos or videos of their drink (moderation) and share with friends (personal information, profiling). To make it a little entertaining, the more people share and tag, the more stickers they can unlock. Also brands and establishm…