Block 7 Summary: Advanced Features
Block 7 Summary: Advanced Features
~16 Min. Lesezeit Zuletzt aktualisiert am August 8, 2026
Block 7 is COMPLETE. The concepts brought forward PRAGMATICALLY in block 6 are now FULLY explained, AND the repertoire of advanced techniques is COMPLETE.
What block 7 covered
- Chapter 57: state providers in detail, wrapping vs. replacing.
- Chapter 58: state processors in detail, the DELETE special case.
- Chapter 59: the promised
ProjectSummaryDTO example, COMPLETE. - Chapter 60: a pure statistics resource WITHOUT a Doctrine entity.
- Chapter 61: a custom operation (
/projects/{id}/archive). - Chapter 62: Doctrine lifecycle events as an alternative to state processors.
- Chapter 63: query extensions as a MORE ELEGANT alternative to chapter 55.
- Chapter 64: HTTP caching with
cacheHeaders. - Chapter 65: automatically generated GraphQL, an overview.
Project state at the end of block 7
api/src/ – state after chapter 65
api/
└── src/
├── ApiResource/
│ ├── Begruessung.php
│ └── DashboardStatistics.php
├── Doctrine/
│ └── OwnerFilterExtension.php
├── EventListener/
│ └── ProjectUpdatedAtListener.php
├── State/
│ ├── UserPasswordHasherProcessor.php
│ ├── ProjectOwnerProcessor.php
│ ├── ProjectSummaryProvider.php
│ ├── DashboardStatisticsProvider.php
│ └── ArchiveProjectProcessor.php
├── Security/Voter/ProjectVoter.php
├── Filter/MultiFieldSearchFilter.php
└── Entity/ (Project, Task, Tag, User)The API is now complete
With block 7, the API-SIDE part of this course ends in the NARROWER sense – block 8 (Mercure) adds real-time updates, BUT blocks 9-10 shift focus ENTIRELY to the React FRONTEND. A good moment for a LOOK BACK: from #[ApiResource] on an empty entity (chapter 9) to a FULLY secured, filtered, multi-language-capable API with custom actions.
What's coming in block 8
Block 8 (chapters 67-72, SHORTER than the previous blocks) introduces Mercure: real-time updates, SO a React frontend updates AUTOMATICALLY when ANOTHER user changes a project – WITHOUT polling, via Server-Sent Events.
Tipp: A good time to work through ALL 66 chapters so far ONCE, from the beginning (with a fresh database), if a lot of time has passed since block 1 – the API is now COMPLEX enough that CONNECTIONS between early and late chapters (e.g. chapter 5 and chapter 60) become clearer when revisited IN CONTEXT.