Earlier today, the symfony core team announced the release of no less than three new stable versions of symfony: 1.2.10, 1.3.0 and 1.4.0. That's big news.

But there is one more thing: For the third time, and for the second year in a row, I'm pleased to reveal the symfony advent calendar for 2009. Needless to say I'm quite excited to write about this new challenge.

The symfony 2009 Advent Calendar: "More with symfony"

The first two advent calendars (Askeet and Jobeet) were of the same kind. They both teach you how to use symfony by creating a full-featured web application with the framework. But for the 2009 advent calendar, I wanted something different. First, because the Jobeet tutorial has already been updated for symfony 1.3/1.4, and so we don't need yet another tutorial-style advent calendar, and then because I wanted a bigger and a different challenge.

This advent calendar is all about the community. Long story short, we have leveraged the power of Open-Source: The symfony 2009 advent calendar is an Open-Source book written in 2 months by 10 authors, backed by a team of more than 30 people, and available in 5 different languages out of the box.

A Book on advanced symfony Topics

"More with symfony" is a set of tutorials about more advanced symfony topics. If you've ever wanted to know how symfony works under the hood or if you'd like to extend the framework in various ways to make it work for your specific needs, this set of tutorials is for you. In this way, "More with symfony" is all about taking your symfony skills to the next level.

This book has been written by ten authors who use symfony on a day-to-day basis as developers or project managers. They have a deep knowledge of the framework and have tried to share their knowledge and experience in these tutorials.

Want to see the table of contents? Here you are:

  • Day 1: Introduction
  • Day 2: Advanced Routing (part 1)
  • Day 3: Advanced Routing (part 2)
  • Day 4: Enhance your Productivity
  • Day 5: Emails (part 1)
  • Day 6: Emails (part 2)
  • Day 7: Custom Widgets and Validators
  • Day 8: Advanced Forms (part 1)
  • Day 9: Advanced Forms (part 2)
  • Day 10: Extending the Web Debug Toolbar
  • Day 11: Advanced Doctrine Usage (part 1)
  • Day 12: Advanced Doctrine Usage (part 2)
  • Day 13: The Lazy Day
  • Day 14: Taking Advantage of Doctrine Table Inheritance (part 1)
  • Day 15: Taking Advantage of Doctrine Table Inheritance (part 2)
  • Day 16: Symfony Internals
  • Day 17: Windows and symfony
  • Day 18: Developing for Facebook (part 1)
  • Day 19: Developing for Facebook (part 2)
  • Day 20: Leveraging the Power of the Command Line (part 1)
  • Day 21: Leveraging the Power of the Command Line (part 2)
  • Day 22: Playing with symfony's Config Cache (part 1)
  • Day 23: Playing with symfony's Config Cache (part 2)
  • Day 24: Working with the symfony Community

As you can see for yourself, it covers a lot of different and interesting symfony topics. But of course, as for every advent calendar, we will publish only one tutorial a day between today and Christmas. So, be patient... or...

An Advent Calendar and a printed Book

Let's face it. I'm a book guy. I like books. That's why the symfony 2009 advent calendar is also available as a printed book. And the good news is that you won't need to wait too much to order it. It's already available on amazon.com!

That's right. If you cannot wait Christmas to read the tutorials online, if you want to make you a great geek present for Christmas, you can order the whole symfony 2009 advent calendar book today.

An Advent Calendar in Five Languages

The vast majority of technical books is in English. It makes sense as mostly all developers can read English books, but it's always a bit frustrating for non English natives to feel like second-class citizens. But if you can't read English, you are out of luck. The market for technical books in foreign languages is so small, that most publishers just cannot afford to translate their books. Of course, speaking about an Open-Source book, the community can help with the translation, but most of the time, translations become available months later if ever.

For this advent calendar, our translation teams have worked very hard to finish their translations in time for December 1st. That's right, you will be able to read the whole book in English, but also in French, Italian, Spanish, and Japanese. Your choice.

And of course, the translated books will be available as printed books later this month.

A Book written by the Community for the Community

This book is also special because this is a book written by the community for the community. More than 30 people have contributed to this book: from the authors, to the translators, to the proof-readers, a large collection of effort has been put forth towards this book.

This book has been made possible thanks to the Open-Source spirit and it is released under an Open-Source license. This fact alone changes everything. It means that nobody has been paid to work on this book: all contributors worked hard to deliver it because they were willing to do so. Each wanted to share their knowledge, give something back to the community, help spread the word about symfony and, of course, have some fun and become famous.


When I started to think about writing yet another book about symfony at the end of August, I immediately had this crazy idea: what about writing a book in two months and publishing it in five languages simultaneously! Of course, involving the community in a project this big was almost mandatory. I started to talk about the idea during the PHP conference in Japan, and in a matter of hours the Japanese translation team was ready to work. That was amazing! The response from the authors and translators was equally encouraging and, in a short time, "More with symfony" was born.

Before you start reading the symfony 2009 advent calendar, join me to thank everybody who participated in one way or another during the creation of this book. This includes, in no particular order:

Ryan Weaver, Geoffrey Bachelet, Hugo Hamon, Jonathan Wage, Thomas Rabaix, Fabrice Bernhard, Kris Wallsmith, Stefan Koopmanschap, Laurent Bonnet, Julien Madelin, Franck Bodiot, Javier Eguiluz, Nicolas Ricci, Fabrizio Pucci, Francesco Fullone, Massimiliano Arione, Daniel Londero, Xavier Briand, Guillaume Bretou, Akky Akimoto, Hidenori Goto, Hideki Suzuki, Katsuhiro Ogawa, Kousuke Ebihara, Masaki Kagaya, Masao Maeda, Shin Ohno, Tomohiro Mitsumune, and Yoshihiro Takahara.

The advent calendar section of the documentation is the home of this new advent calendar and lists already published tutorials in the five available languages. Each day during December, a new tutorial will be made available.

Today's tutorial is already online. You won't learn too much as you have more or less read it by reading this post.

See you tomorrow for the first "real" tutorial on advanced routing techniques.