[Full Disclosure: I was asked to review a copy of Extending Symfony2 Web Application Framework by Sébastien Armand, and put a review on this blog.
The review is my own, and is in no way influenced by Packt Publishing]
The Symfony framework has – in my opinion – a lack of decent third party reading material generally available. One quick search on Amazon will show you what I mean. That’s not to say that there aren’t books available, but many of them are self-published, or published on these new fangled platforms that old-timers like me aren’t aware of.
And you know what, I kind of get that. Many big publishers don’t want to, or can’t afford to take a risk on publishing a title that will, in all likelihood, only appeal to a few thousand-odd developers. So, like for many parts of Symfony 2, if you want to find the juicy bits, you have to do a little bit more than a Google search.
What’s in it for me?
Truthfully this isn’t a book for the beginner. If you want to learn more about Symfony and you are just starting out, try the official manual, or heck, my video tutorials are as good a place as any, even if I do say so myself.
Rather than me trying to explain in great depth what’s in each chapter, I’ve screen-grabbed the contents for your perusal.
The Delilah Smith Guide To Symfony
Whilst the author doesn’t come right out and say it, the book feels more like a collection of the Symfony 2 cookbook style articles, rather than a deep-dive in to each of the presented topics. And again, the chapter length is a bit of a give-away on this also.
That’s great for developers who have plenty of hands-on experience with the framework, but again, maybe not so great for advanced beginners, or early intermediates.
It is suggested that you code along as you read, and whilst that’s not always practical, being able to run the code in your head (so to speak) is hugely beneficial – but completely impractical if you don’t have that prior experience.
My other gripe with both this and the Symfony cookbook articles is that if you do get stuck, you need a base of reference (Google usually) to get a better understanding of some of the high level concepts of which the author has only scratched the surface.
This can be frustrating.
However, when learning a new framework or concept, having multiple points of reference – videos, written tutorials, checking out others code on github – is always a good idea as you will see different ways of implementing the same idea.
Oh lordy me, I wish Sébastien had used YAML instead of XML in his examples.
The chapter I was most looking forward to – Chapter 6: Sharing Your Extensions – is a super hard to read on the Kindle with the XML dumps displaying horribly.
As I typed the code out into my IDE and could see each piece on one line instead of five or more, the whole chapter became clearer. Not good for reading on the train though.
That said, I don’t think the config can be done in YAML when sharing bundles (Configuration.php) – but do feel free to correct me if I am wrong on that one?
Altogether though, chapter 6 was super useful to me, and something I had found, shall we say, unenlightening on the Symfony website.
Isn’t this information already available for free elsewhere?
Of course. The beauty of a non-fiction title such as this is rarely that you will learn some obscure tidbit that you cannot find elsewhere. Rather, it’s the time saved by letting the author collate, refine, and re-interpret in one handy place of reference that hopefully saves you a few hours digging around the web to find by yourself.
And in that respect, I think the author has done a really good job. There’s plenty of advice from disparate blogs / websites / mailing lists that can be found here, and with helpful code samples to boot. It’s certainly not always easy to read code on a kindle, but with the code also available for separate download, I think that’s more of a problem with the current state of the Kindle than with the presentation.
Good or Bad, what’s the verdict?
On the whole I enjoyed reading this book, and learned a few things in the process.
My biggest criticism is that it’s a little on the short side for the price.
However, the fact that it was so short also ensured I actually read it, rather than being off-put as sometimes happens when I buy a six or seven hundred page monster – Core Java Fundamentals, I’m looking at you.
The tone is conversational, and at no point did I feel the chapter was too dry, tedious, or overly long, and so I never skipped ahead.
Ultimately, if you can get your company to pay for your learning materials then I would recommend you take that option first.
So tl;dr: yes, it’s a good book for intermediates onwards, but for the price it’s a little expensive considering the page count.
Extending Symfony2 Web Application Framework by Sébastien Armand is £11.89 via Packt’s official website, and on purchase you can download the book in .epub, .mobi, .pdf, and view in browser using their Packt Lib application. All formats are DRM free.
And lastly, a huge thank you to Sébastien Armand, and to Packt Publishing for asking me to review this book, I really enjoyed doing so.