General Description
The book is 360 pages long. It doesn't consist of conventional chapters, but rather of steps, each of which immerses you in the framework and complicates and refines the previous step. There are 30 such steps in total. Of course, the book contains many code snippets, but at the same time, it includes images (usually in the form of screenshots), whereas tables, diagrams, and charts are practically absent. The difficulty level of the book is somewhere between easy and moderate.
Table of Contents
In order not to describe a review of all the step-chapters of the book, I will list them below.
- Step 0: What is this book about?
- Step 1: Checking the working environment
- Step 2: Getting to know the project
- Step 3: From zero to deployment
- Step 4: Choosing a development methodology
- Step 5: Troubleshooting
- Step 6: Creating a controller
- Step 7: Preparing the database
- Step 8: Describing the data structure
- Step 9: Creating an admin panel
- Step 10: Creating a user interface
- Step 11: Working with branches
- Step 12: Handling events
- Step 13: Doctrine object lifecycle
- Step 14: Getting feedback with forms
- Step 15: Protecting the admin panel
- Step 16: Spam protection using API
- Step 17: Testing
- Step 18: Transitioning to asynchronous operations
- Step 19: Managing state with Workflow
- Step 20: Sending email to administrators
- Step 21: Improving performance with caching
- Step 22: Styling the interface with Webpack
- Step 23: Resizing images
- Step 24: Running cron jobs
- Step 25: Notifying in various ways
- Step 26: Creating an API with API Platform
- Step 27: Developing a SPA
- Step 28: Localizing the application
- Step 29: Optimizing performance
- Step 30: Exploring Symfony internals
- Step 31: What's next?
Opinion
Quite a good and clear book about a PHP framework that was new to me but popular in the world. Probably, general knowledge of how all backend frameworks are structured, and especially knowledge of Laravel, helped to easily understand this book. The book covers all the popular topics and tasks that backend developers face daily: from parsing requests and forming responses to architectural approaches, working with databases, queues, caches, cron, and more.