Announcements after a year with "A Year With Symfony"

Posted on by Matthias Noback

As a follow-up on a previous article I have some announcements to make.

Feedback

A wonderful number of 67 of you have provided very valuable feedback about "A Year With Symfony" - you sure wrote some nice things about my book! Just a small selection of highlights:

Reading "A Year With Symfony" helped to clarify and validate the ideas and structures that I had been developing with my team, along with explaining some of the internals of Symfony that the documentation did not.

There is lots of practical advice, solutions to common problems and general best-practice information contained and anyone who uses Symfony absolutely MUST read this book - a genuine godsend!

— Matthew Davis

This book is well written and has filed in many of the gaps I had in my understanding of how Symfony works at its core. I finally understand how to use the dependency injection component correctly and why configuring controllers and commands as services can be an excellent idea. The chapters on project and bundle organization have caused me to change the way I code to make it more understandable, more flexible, and more resilient. I'm going to be reading this book again because there is so much excellent information in this book that I'm certain I missed wrote a bit.

— Joshua Smith

"A Year with Symfony" was a really great and smooth read and it's the perfect book as a follow up to the official "The Symfony Book" with a great collection of best practices for building maintainable web applications with Symfony2.

— Dominik Liebler

Prizes!

Notebook

Those of you who submitted the form automatically took part in a raffle of some book-related things like free printed and digital copies of the book, as well as a special edition notebook. All participants have been notified of the outcome already. The winners are:

  • 5 printed copies: Lukasz, Nikolai Zujev, pinouf and Liviu Mirea
  • 10 digital copies: Sadok Ferjani and Heiko Krebs
  • 5 notebooks: Erik van Wingerden and Peter Nijssen

Rewriting an existing chapter

As I told you, I'm planning to rewrite the "Project structure" chapter of my book. It will be replaced entirely by something more up-to-date, corresponding to my own current practices. Some of the things you may expect the new chapter to be about: hexagonal architecture, commands and command handlers and events and event handlers.

Writing a new chapter

I also asked you: what would you like me to write about, if I were to publish a new chapter? This is the list of potential subjects I provided and the number of times you voted for them:

Subject Votes
Performance optimization 41
Testing 41
Deployment 35
Forms 29

For completeness sake, this is a list of other subjects that were mentioned: REST API, domain separation, BDD, black-box testing and white-box testing, writing APIs, Silex, Doctrine2 best practices (but each of them not more than once).

It is clear that most people find all of the potential subjects quite interesting, even though "Performance optimization" and "Testing" are absolute winners. On both subjects I might have some useful thoughts to share, but I've already written a blog post series about testing for PHP. Also, the subject of "Performance optimization" has some very Symfony-specific aspects to it. So I have decided that the second bonus chapter will be about:

Performance optimization!

However, first I'm going to finish my second book Principles of PHP Package Design, since that one has been begging for my attention the last couple of months. So expect to hear more about my plans for "A Year With Symfony" in 2015.

General discount

Let's continue the party a little longer, by applying a general discount of 20% to "A Year With Symfony". You don't need a special discount code or anything. Just buy the book via Leanpub.

Conclusion

I've got nothing more to say than: thank you again, for your overwhelming response and your continuous support of my book writing and blog posting efforts.

PHP Symfony2 Book A Year With Symfony prizes