In a past article about PHP Storm and VSCode, I mentioned that using Laravel is working with a professional structure. This structure uses design patterns, great PHP packages, and features to make the development more efficient.
However, in a big project with a work team, using a great framework like Laravel is not enough. So, I have learned three points:
- A code that works is not enough: Even if this code has tests, it should also be easy to maintain and understand for any developer
- There are many ways to do a feature: Sometimes there are no right or wrong answers, and a problem could have even long talks to decide the best solution, so finally as developers we look for the best for the project
- The file structure is important: Where to create a new class or a new method? Could I use a class in another specific class? How should a file or a variable be named?
So, for this article Laravel Beyond CRUD, an e-book written by Brent Roose, in essence, has the most important lessons learned by the Spatie team, who made products for the Laravel ecosystem.
The book started by talking about the importance to have a scalable project and the Domain Driven Design in Laravel. Then it explains information with patterns like DTOs, Actions, States, and Enums. Finally covers the testing and features like View Models, HTTP queries, and Job.
This book is not only theoretical but also practical, even though it mentions some of the PHP packages made by the Spatie team and many ideas to consider for our applications and working team.
Finally, even though these PHP packages are free, the e-book and the course have a price, it is a way to support the open source, and great developers working on made our work as developers more efficient.