- I won't update A Year With Symfony anymore.
- The e-book is now freely available.
My first book, A Year With Symfony, was well received when I first published it on September 4th. At the time it seemed to be a welcome addition to the official Symfony documentation.
A lot of water has passed under the bridge since then. Several new Symfony components were released and we have now arrived at the next major version, 3.0. In the meantime I published one update of the book: a new chapter about Annotations.
One year after the initial release I announced some big plans for a partial rewrite and a new chapter. I started working, but never finished it.
The content of the book is not outdated yet, not even after the arrival of a new major Symfony version. Most of the code samples still work. Only some parts of "quoted" Symfony code has been changed in the meantime.
If I were to write this book today, it would be different in several ways. I wouldn't focus so much on reusability in the final chapter. I would still write about separating "library code" from "framework glue code". But I would also promote the use of everything that Symfony has to offer in terms of Developer eXperience. If part of your codebase lives close the the framework, I'd advise you to "fully embrace the framework" in that code.
Finally, I would remove the "Project structure" chapter and replace it with something about application architecture. This is a topic about which I've learned a lot since writing this book. What's in the "Project structure" chapter is mostly a mistake (at least the part about form handlers). The sections on request and context data and passing it along instead of injecting it is still very important to be aware of.
Because of my current more or less full-time job at Ibuildings I don't see any options for a big update/rewrite. By writing this post I want to make it clear that I won't be changing, adding to or updating A Year With Symfony anymore. You could say it is "End of Life". However, the book has proven to be valuable for many people (about 2000 books have been sold so far!), so I still want to offer it to potential readers. From now on you can download it for free! The printed edition is still available on Amazon for the usual price.
Thanks for your ongoing support! This was a great adventure, an interesting experience and I've learned a lot!
I was planning to use your book as a the basic text book in a Software Engineering course. I want to show the evolution of PHP and the problems that made this happen. Now I'm hesitating, if you were me, would you still use it? or, do you think there are better alternatives that will cover the topics using this perspective? which ones do you reccommend? Have you had any idea to delegate the rewrite of this book to someone else?
Sad news, it is one of my favourite symfony books. thanks for your hard work
Thanks for letting me know!
Cool!! But, why form handlers is a mistake?
Form handlers introduce an extra so-called "layer of indirection" without taking an extra step in the level of abstraction of the code. The web controller, web forms, templates are all on one level of abstraction (that of "web infrastructure"). One layer deeper lies the "application layer", which is indeed a higher level of abstraction, since it's not tied to all the infrastructure stuff anymore.
Thank you Matthias .
This book has really helped me to understand more about Symfony.
Also I agree that book is very much relevant even now .
That's good to know! The book should stay relevant for quite some time. I just wanted to state that I'm not going to publish updates anymore.
Hello, Matthias! Thank you for your great job!
I have one question. If I'll have a time - I want to translate this book on my native language (with all references ofcource). Do I need to have some sort of formal permission from you to do this?
Thank you for sharing your experience and for your current internal state as well.
Your book gave me great insights into Symfony, that made my way much easier.
Thanks, you're welcome!
Hi Matthias, will you consider to manage/lead an update if someone help you?
I'd like to see a book like "One year with Symfony3" :)
Big thanks to offer this ebook to everyone \o/