Ash Allen was kind enough to run a giveaway for his book, Battle Ready Laravel. I was one of the winners and was provided with a free copy. (Thanks, Ash!) As a way of saying thanks, I've decided to write up my review of his book now that I have had time to read it through.
What is Battle Ready Laravel?
First, I need to tell you who Ash is. He's a Laravel web developer based in the UK, with 5+ years of experience with Laravel. He also blogs, and is one of the inspirations behind my own blog, no less!
His book, Battle Ready Laravel, is the result of his experience working with non-greenfield projects from small to large. Putting into words his processes from auditing, testing, fixing, and improving.
By following this book you will learn how to use tools to assess the code quality of your Laravel projects and common Laravel gotchas such as the infamous N+1 problem. You will learn how to build up confidence with unit testing and how to identify and resolve security issues that even experienced developers miss.
The book is available for $39 should you decide to pick up a copy! You can also find Ash on Twitter where he occasionally runs giveaways and promotions.
What I Enjoyed About The Book
Honestly, I made a mistake here. I knew about Battle Ready Laravel as I have been following Ash for a while. But because of my own experience, I decided to give it a miss.
After receiving a copy of the book and sitting down with it. I realised the mistake. It doesn't matter if you're a beginner to Laravel or an experienced developer. I believe there is something to be learned here.
I learned about new auditing tools that I had never heard of. Now as of this morning, I have implemented these into my deploy pipelines.
I learned new techniques for making less repetitive unit tests. This has helped me cut down my tests without sacrificing code coverage or fewer assertions.
I learned new and cleaner ways of handling authorisation. Reducing duplicated authorisation checks, and clearing technical debt that could introduce devastating security vulnerabilities later on.
Regardless of whether or not you think there's nothing else for you to learn. I recommend giving this book a shot. Only if it's for the sake of peering into another's mindset, it's full of useful information and techniques you may be missing.
Bonus point: The book comes with a dark and light PDF, a nice little touch that wasn't necessary.
What I didn't enjoy.
Given the price point of the book (and that I got it for free, full disclosure!). There's not much I can critique fairly, but I don't want to show bias if I can help it.
If I'm blunt. The only thing I didn't really enjoy was the section on DTO (Data Transfer Objects). Simply down to personal opinion here as I believe DTOs are unnecessary encapsulation. That's not really an issue with the book though, but more with my own opinion.
Otherwise, whilst there is a lot that I already knew. The book is directed at both beginners and experienced developers. Factoring in the latter, it is expected to have parts that feel a bit dry.
Do I recommend this book? Yes. Do I recommend this book for beginners? Yes. Do I recommend this book for seasoned developers? Yes!
At the end of the day, the book is pretty inexpensive. Compared to what you're going to get out of it against the price. The risk is low. If you walk away only learning a new thing or two, then it only cost you $39.
If you would like to give it a preview before considering a purchase. There's a free chapter available on the website. Pick it up here!